package de.vksi.c4j.acceptancetest.timeofday; import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import de.vksi.c4j.systemtest.TransformerAwareRule; import de.vksi.c4j.acceptancetest.timeofday.RicherTimeOfDay; public class RicherTimeOfDayTest { @Rule public TransformerAwareRule transformerAware = new TransformerAwareRule(); @Rule public ExpectedException thrown = ExpectedException.none(); private RicherTimeOfDay classUnderTest; @Before public void setUpTest() { classUnderTest = new RicherTimeOfDay(); } @After public void tearDownTest() { classUnderTest = null; } @Test(expected = AssertionError.class) public void setHourTestErrorCondition1() { // Test error condition for "hour >= 0" // assert hour >= 0 : "hour >= 0"; classUnderTest.setHour(-1); } @Test(expected = AssertionError.class) public void setHourTestErrorCondition2() { // Test error condition for "hour <= 23" // assert hour <= 23 : "hour <= 23"; classUnderTest.setHour(24); } @Test public void setHourTestRight() { // Test post-condition for "hour set" // assert classUnderTest.getHour() == hour : "hour set"; classUnderTest.setHour(23); } @Test public void setHourTestRight1() { // Test post-condition for "minute unchanged" // assert old_minute == classUnderTest.getMinute() : "minute unchanged"; classUnderTest.setMinute(59); classUnderTest.setHour(23); } @Test public void setHourTestRight2() { // Test post-condition for "second unchanged" // assert old_second == classUnderTest.getSecond() : "second unchanged"; classUnderTest.setSecond(59); classUnderTest.setHour(23); } @Test(expected = AssertionError.class) public void setMinuteTestErrorCondition1() { // Test error condition for "minute >= 0" // assert minute >= 0 : "minute >= 0"; classUnderTest.setMinute(-1); } @Test(expected = AssertionError.class) public void setMinuteTestErrorCondition2() { // Test error condition for "minute <= 59" // assert minute <= 59 : "minute <= 59"; classUnderTest.setMinute(60); } @Test public void setMinuteTestRight() { // Test post-condition for "minute set" // assert classUnderTest.getMinute() == minute : "minute set"; classUnderTest.setMinute(59); } @Test public void setMinuteTestRight1() { // Test post-condition for "hour unchanged" // assert old_hour == classUnderTest.getHour() : "hour unchanged"; classUnderTest.setHour(23); classUnderTest.setMinute(59); } @Test public void setMinuteTestRight2() { // Test post-condition for "second unchanged" // assert old_second == classUnderTest.getSecond() : "second unchanged"; classUnderTest.setSecond(59); classUnderTest.setMinute(23); } @Test public void RicherTimeOfDayTestRight() { // Test post-condition for "nearest hour == 0" // assert classUnderTest.getNearestHour() == 0 : "nearest hour == 0"; new RicherTimeOfDay(); } @Test public void getNearestHourTestRight() { // Test post-condition for "if minute < 30 then hour == nearest hour" // assert !(minute < 30) || (returnValue == hour) : // "if minute < 30 then hour == nearest hour"; classUnderTest.setHour(22); classUnderTest.setMinute(29); classUnderTest.getNearestHour(); classUnderTest.setHour(23); classUnderTest.getNearestHour(); } @Test public void getNearestHourTestRight1() { // Test post-condition for // "if minute >= 30 && hour < 23 then hour == hour + 1" // assert !(minute >= 30 && hour < 23) || (returnValue == hour + 1) : // "if minute >= 30 && hour < 23 then hour == hour + 1"; classUnderTest.setHour(22); classUnderTest.setMinute(30); classUnderTest.getNearestHour(); } @Test public void getNearestHourTestRight2() { // Test post-condition for // "if minute >= 30 && hour == 23 then hour == 23" // assert !(minute >= 30 && hour == 23) || (returnValue == 0) : // "if minute >= 30 && hour == 23 then hour == 23"; classUnderTest.setHour(23); classUnderTest.setMinute(30); classUnderTest.getNearestHour(); } }