77 lines
2.1 KiB
Java
77 lines
2.1 KiB
Java
import org.junit.Before;
|
|
import org.junit.Test;
|
|
|
|
|
|
import static org.assertj.core.api.Assertions.*;
|
|
|
|
public class BirdWatcherTest {
|
|
|
|
private static final int DAY1 = 0;
|
|
private static final int DAY2 = 2;
|
|
private static final int DAY3 = 5;
|
|
private static final int DAY4 = 3;
|
|
private static final int DAY5 = 7;
|
|
private static final int DAY6 = 8;
|
|
private static final int TODAY = 4;
|
|
|
|
private BirdWatcher birdWatcher;
|
|
private int lastWeek[] = {DAY1, DAY2, DAY3, DAY4, DAY5, DAY6, TODAY};
|
|
|
|
@Before
|
|
public void setUp() {
|
|
birdWatcher = new BirdWatcher(lastWeek);
|
|
}
|
|
|
|
@Test
|
|
public void itTestGetLastWeek() {
|
|
assertThat(birdWatcher.getLastWeek())
|
|
.containsExactly(DAY1, DAY2, DAY3, DAY4, DAY5, DAY6, TODAY);
|
|
}
|
|
|
|
@Test
|
|
public void itTestGetToday() {
|
|
assertThat(birdWatcher.getToday()).isEqualTo(TODAY);
|
|
}
|
|
|
|
@Test
|
|
public void itIncrementTodaysCount() {
|
|
birdWatcher.incrementTodaysCount();
|
|
assertThat(birdWatcher.getToday()).isEqualTo(TODAY + 1);
|
|
}
|
|
|
|
@Test
|
|
public void itHasDayWithoutBirds() {
|
|
assertThat(birdWatcher.hasDayWithoutBirds()).isTrue();
|
|
}
|
|
|
|
@Test
|
|
public void itShouldNotHaveDaysWithoutBirds() {
|
|
birdWatcher = new BirdWatcher(new int[]{1, 2, 5, 3, 7, 8, 4});
|
|
assertThat(birdWatcher.hasDayWithoutBirds()).isFalse();
|
|
}
|
|
|
|
|
|
@Test
|
|
public void itTestGetCountForFirstDays() {
|
|
assertThat(birdWatcher.getCountForFirstDays(4)).isEqualTo(DAY1 + DAY2 + DAY3 + DAY4);
|
|
}
|
|
|
|
@Test
|
|
public void itTestGetCountForMoreDaysThanTheArraySize() {
|
|
assertThat(birdWatcher.getCountForFirstDays(10))
|
|
.isEqualTo(DAY1 + DAY2 + DAY3 + DAY4 + DAY5 + DAY6 + TODAY);
|
|
}
|
|
|
|
@Test
|
|
public void itTestGetCountForBusyDays() {
|
|
// DAY3, DAY5 and DAY6 are all >= 5 birds
|
|
assertThat(birdWatcher.getBusyDays()).isEqualTo(3);
|
|
}
|
|
|
|
@Test
|
|
public void itShouldNotHaveBusyDays() {
|
|
birdWatcher = new BirdWatcher(new int[]{1, 2, 3, 3, 2, 1, 4});
|
|
assertThat(birdWatcher.getBusyDays()).isEqualTo(0);
|
|
}
|
|
}
|