/mockolate-unit-test/src/mockolate/UsingMockolateThroughMockolateRule.as

https://github.com/evepoe/mockolate
ActionScript | 122 lines | 94 code | 26 blank | 2 comment | 0 complexity | 752c48958c448af3333e739cb86e5e5e MD5 | raw file
  1. package mockolate
  2. {
  3. import flash.display.Sprite;
  4. import flash.events.EventDispatcher;
  5. import mockolate.ingredients.Mockolatier;
  6. import mockolate.ingredients.mockolate_ingredient;
  7. import mockolate.runner.MockolateRule;
  8. import mockolate.sample.Flavour;
  9. import org.hamcrest.assertThat;
  10. use namespace mockolate_ingredient;
  11. public class UsingMockolateThroughMockolateRule
  12. {
  13. [Rule]
  14. public var mocks:MockolateRule = new MockolateRule();
  15. [Mock]
  16. public var mockolatier:Mockolatier;
  17. [Mock]
  18. public var flavour:Flavour;
  19. [Before]
  20. public function setup():void
  21. {
  22. // MockolateRule defaults to using the MockolatierMaster.mockolatier
  23. // however we can override the mockolatier that the rule uses.
  24. mocks.mockolatier = mockolatier;
  25. }
  26. [Ignore]
  27. [Test]
  28. public function prepare_shouldBeForwardedToMockolatier():void
  29. {
  30. mocks.prepare(EventDispatcher, Sprite);
  31. assertThat(mockolatier, received().method("prepare").args(EventDispatcher, Sprite).once());
  32. }
  33. [Ignore]
  34. [Test]
  35. public function nice_shouldBeForwardedToMockolatier():void
  36. {
  37. mocks.nice(Flavour);
  38. assertThat(mockolatier, received().method("nice").args(Flavour, null, null).once());
  39. mocks.nice(Flavour, "niceFlavour");
  40. assertThat(mockolatier, received().method("nice").args(Flavour, "niceFlavour", null).once());
  41. var constructorArgs:Array = [];
  42. mocks.nice(Flavour, "niceFlavour", constructorArgs);
  43. assertThat(mockolatier, received().method("nice").args(Flavour, "niceFlavour", constructorArgs).once());
  44. }
  45. [Ignore]
  46. [Test]
  47. public function strict_shouldBeForwardedToMockolatier():void
  48. {
  49. mocks.strict(Flavour);
  50. assertThat(mockolatier, received().method("strict").args(Flavour, null, null).once());
  51. mocks.strict(Flavour, "strictFlavour");
  52. assertThat(mockolatier, received().method("strict").args(Flavour, "strictFlavour", null).once());
  53. var constructorArgs:Array = [];
  54. mocks.strict(Flavour, "strictFlavour", constructorArgs);
  55. assertThat(mockolatier, received().method("strict").args(Flavour, "strictFlavour", constructorArgs).once());
  56. }
  57. [Ignore]
  58. [Test]
  59. public function partial_shouldBeForwardedToMockolatier():void
  60. {
  61. mocks.partial(Flavour);
  62. assertThat(mockolatier, received().method("partial").args(Flavour, null, null).once());
  63. mocks.partial(Flavour, "partialFlavour");
  64. assertThat(mockolatier, received().method("partial").args(Flavour, "partialFlavour", null).once());
  65. var constructorArgs:Array = [];
  66. mocks.partial(Flavour, "partialFlavour", constructorArgs);
  67. assertThat(mockolatier, received().method("partial").args(Flavour, "partialFlavour", constructorArgs).once());
  68. }
  69. [Ignore]
  70. [Test]
  71. public function mock_shouldBeForwardedToMockolatier():void
  72. {
  73. mocks.mock(Flavour);
  74. assertThat(mockolatier, received().method("mock").args(Flavour).once());
  75. }
  76. [Test]
  77. public function stub_shouldBeForwardedToMockolatier():void
  78. {
  79. mocks.stub(Flavour);
  80. assertThat(mockolatier, received().method("stub").args(Flavour).once());
  81. }
  82. [Test]
  83. public function verify_shouldBeForwardedToMockolatier():void
  84. {
  85. mocks.verify(flavour);
  86. assertThat(mockolatier, received().method("verify").args(flavour).once());
  87. }
  88. [Test]
  89. public function expect_expectArg_shouldBeForwardedToMockolatier():void
  90. {
  91. mocks.expect(flavour.combine(mocks.expectArg(Flavour)));
  92. assertThat(mockolatier, received().method("expectArg").args(Flavour).once());
  93. assertThat(mockolatier, received().method("expect").args(null).once());
  94. }
  95. }
  96. }