From aed11e6d0d48ec9de3cf0d4c48d6cc671972bbdd Mon Sep 17 00:00:00 2001 From: Mark VanderVoord Date: Fri, 8 Sep 2017 17:01:56 -0400 Subject: [PATCH] Add tests to prove that ignore and expects interoperate quite well. --- .../test_interactions/ignore_and_return.yml | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) diff --git a/test/system/test_interactions/ignore_and_return.yml b/test/system/test_interactions/ignore_and_return.yml index 44fdaa8..17f95be 100644 --- a/test/system/test_interactions/ignore_and_return.yml +++ b/test/system/test_interactions/ignore_and_return.yml @@ -167,4 +167,163 @@ function(1, 2, 3); } + - :pass: TRUE + :should: 'we can override an ignore with an expect and pass' + :code: | + test() + { + bar_Ignore(); + + bar_Expect(2); + foo_ExpectAndReturn(1, 50); + foo_ExpectAndReturn(2, 60); + foo_ExpectAndReturn(3, 70); + TEST_ASSERT_EQUAL(180, function(1, 2, 3)); + + bar_Expect(5); + foo_ExpectAndReturn(4, 30); + foo_ExpectAndReturn(5, 80); + foo_ExpectAndReturn(6, 10); + TEST_ASSERT_EQUAL(120, function(4, 5, 6)); + + bar_Expect(8); + foo_ExpectAndReturn(7, 70); + foo_ExpectAndReturn(8, 20); + foo_ExpectAndReturn(9, 20); + TEST_ASSERT_EQUAL(110, function(7, 8, 9)); + } + + - :pass: FALSE + :should: 'we can override an ignore with an expect and fail' + :code: | + test() + { + bar_Ignore(); + + bar_Expect(2); + foo_ExpectAndReturn(1, 50); + foo_ExpectAndReturn(2, 60); + foo_ExpectAndReturn(3, 70); + TEST_ASSERT_EQUAL(180, function(1, 2, 3)); + + bar_Expect(5); + foo_ExpectAndReturn(4, 30); + foo_ExpectAndReturn(5, 80); + foo_ExpectAndReturn(6, 10); + TEST_ASSERT_EQUAL(120, function(4, 5, 6)); + + bar_Expect(9); + foo_ExpectAndReturn(7, 70); + foo_ExpectAndReturn(8, 20); + foo_ExpectAndReturn(9, 20); + TEST_ASSERT_EQUAL(110, function(7, 8, 9)); + } + + - :pass: TRUE + :should: 'we can override an ignore and return with an expect and pass' + :code: | + test() + { + bar_Ignore(); + foo_IgnoreAndReturn(30); + TEST_ASSERT_EQUAL(90, function(1, 2, 3)); + + bar_Expect(5); + foo_ExpectAndReturn(4, 30); + foo_ExpectAndReturn(5, 80); + foo_ExpectAndReturn(6, 10); + TEST_ASSERT_EQUAL(120, function(4, 5, 6)); + + bar_Expect(8); + foo_ExpectAndReturn(7, 70); + foo_ExpectAndReturn(8, 20); + foo_ExpectAndReturn(9, 20); + TEST_ASSERT_EQUAL(110, function(7, 8, 9)); + } + + - :pass: FALSE + :should: 'we can override an ignore and return with an expect and fail' + :code: | + test() + { + bar_Ignore(); + foo_IgnoreAndReturn(0); + TEST_ASSERT_EQUAL(0, function(1, 2, 3)); + + bar_Expect(5); + foo_ExpectAndReturn(4, 30); + foo_ExpectAndReturn(5, 80); + foo_ExpectAndReturn(6, 10); + TEST_ASSERT_EQUAL(120, function(4, 5, 6)); + + bar_Expect(9); + foo_ExpectAndReturn(7, 70); + foo_ExpectAndReturn(8, 20); + foo_ExpectAndReturn(9, 20); + TEST_ASSERT_EQUAL(110, function(7, 8, 9)); + } + + - :pass: TRUE + :should: 'we can override an an expect with an ignore' + :code: | + test() + { + bar_Expect(5); + bar_Ignore(); + foo_ExpectAndReturn(1, 50); + foo_ExpectAndReturn(2, 60); + foo_ExpectAndReturn(3, 70); + TEST_ASSERT_EQUAL(180, function(1, 2, 3)); + } + + - :pass: TRUE + :should: 'we can override an expect with an ignore and return and pass' + :code: | + test() + { + bar_Ignore(); + foo_IgnoreAndReturn(0); + TEST_ASSERT_EQUAL(0, function(1, 2, 3)); + + bar_Expect(5); + foo_ExpectAndReturn(4, 30); + foo_ExpectAndReturn(5, 80); + foo_IgnoreAndReturn(10); + TEST_ASSERT_EQUAL(120, function(4, 5, 6)); + + bar_Ignore(); + foo_IgnoreAndReturn(60); + TEST_ASSERT_EQUAL(180, function(7, 8, 9)); + } + + - :pass: FALSE + :should: 'we can override an expect with an ignore and return and fail after' + :code: | + test() + { + bar_Expect(5); + foo_ExpectAndReturn(4, 30); + foo_ExpectAndReturn(5, 50); + foo_IgnoreAndReturn(20); + TEST_ASSERT_EQUAL(100, function(4, 5, 6)); + + bar_Expect(5); + foo_ExpectAndReturn(9, 30); //THIS ONE WILL FAIL + foo_ExpectAndReturn(2, 80); + foo_ExpectAndReturn(3, 60); + TEST_ASSERT_EQUAL(170, function(1, 2, 3)); + } + + - :pass: TRUE + :should: 'we can override an expect with an ignore and return and the expected values are ignored' + :code: | + test() + { + bar_Expect(5); + foo_ExpectAndReturn(2, 30); //NOTE THIS WOULD NORMALLY FAIL + foo_ExpectAndReturn(5, 50); + foo_IgnoreAndReturn(20); //BUT WE SAID WE NO LONGER CARE + TEST_ASSERT_EQUAL(100, function(4, 5, 6)); + } + ...