package glug.gui.timebar;
import static org.hamcrest.Matchers.equalTo;
import static org.joda.time.DateTimeFieldType.dayOfMonth;
import static org.joda.time.DateTimeFieldType.minuteOfHour;
import static org.joda.time.DateTimeFieldType.secondOfMinute;
import static org.joda.time.Duration.standardDays;
import static org.joda.time.Duration.standardMinutes;
import static org.joda.time.Duration.standardSeconds;
import static org.junit.Assert.assertThat;
import org.joda.time.DateTimeFieldType;
import org.junit.Test;
public class TickSetTest {
@Test
public void shouldReturnWhatIWantDammit() {
TickSet ticks = new TickSet(tick(1,dayOfMonth()), tick(10,minuteOfHour()), tick(5,secondOfMinute()));
assertThat(ticks.forRange(standardSeconds(4), standardMinutes(8)).lastEntry().getValue(),equalTo(tick(10,minuteOfHour())));
assertThat(ticks.forRange(standardSeconds(4), standardMinutes(8)).firstEntry().getValue(),equalTo(tick(5,secondOfMinute())));
assertThat(ticks.forRange(standardSeconds(5), standardMinutes(8)).firstEntry().getValue(),equalTo(tick(5,secondOfMinute())));
assertThat(ticks.forRange(standardSeconds(5), standardDays(3)).lastEntry().getValue(),equalTo(tick(1,dayOfMonth())));
}
private Tick tick(int value, DateTimeFieldType dateTimeFieldType) {
return Tick.tick(value, dateTimeFieldType, null);
}
}