6.6.3 - Alpha2 - 本地化 Material Date Time Picker (版本 4.2.3)
This commit is contained in:
@@ -0,0 +1,853 @@
|
||||
package com.wdullaer.materialdatetimepicker.time;
|
||||
|
||||
import static com.wdullaer.materialdatetimepicker.time.TimePickerDialog.HOUR_INDEX;
|
||||
import static com.wdullaer.materialdatetimepicker.time.TimePickerDialog.MINUTE_INDEX;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.Assert;
|
||||
|
||||
/**
|
||||
* Unit tests for the default implementation of TimepointLimiter
|
||||
* Mostly used to assert that the rounding logic works
|
||||
*
|
||||
* Created by wdullaer on 22/06/17.
|
||||
*/
|
||||
public class DefaultTimepointLimiterTest {
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnTrueWhenMinTimeIsInTheAfternoon() {
|
||||
Timepoint minTime = new Timepoint(13);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertTrue(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnFalseWhenMinTimeIsInTheMorning() {
|
||||
Timepoint minTime = new Timepoint(8);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertFalse(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnTrueWhenMinTimeIsMidday() {
|
||||
Timepoint minTime = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertTrue(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnFalseWhenMaxTimeIsInTheMorning() {
|
||||
Timepoint maxTime = new Timepoint(8);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertFalse(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnFalseWhenMaxTimeIsMidday() {
|
||||
Timepoint maxTime = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertFalse(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPmDisabledShouldReturnTrueWhenMaxTimeIsInTheMorning() {
|
||||
Timepoint maxTime = new Timepoint(9);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertTrue(limiter.isPmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPmDisabledShouldReturnFalseWhenMinTimeIsInTheAfternoon() {
|
||||
Timepoint minTime = new Timepoint(13);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertFalse(limiter.isPmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPmDisabledShouldReturnFalseWhenMaxTimeIsMidday() {
|
||||
Timepoint maxTime = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertFalse(limiter.isPmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnTrueIfSelectableDaysAreInTheAfternoon() {
|
||||
Timepoint[] selectableDays = {
|
||||
new Timepoint(13),
|
||||
new Timepoint(22)
|
||||
};
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableDays);
|
||||
|
||||
Assert.assertTrue(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnFalseIfSelectableDaysHasOneTimeInTheMorning() {
|
||||
Timepoint[] selectableDays = {
|
||||
new Timepoint(4),
|
||||
new Timepoint(13),
|
||||
new Timepoint(22)
|
||||
};
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableDays);
|
||||
|
||||
Assert.assertFalse(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPmDisabledShouldReturnTrueIfSelectableDaysAreInTheMorning() {
|
||||
Timepoint[] selectableDays = {
|
||||
new Timepoint(4),
|
||||
new Timepoint(9),
|
||||
new Timepoint(11)
|
||||
};
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableDays);
|
||||
|
||||
Assert.assertTrue(limiter.isPmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPmDisabledShouldReturnFalseIfSelectableDaysHasOneTimeInTheAfternoon() {
|
||||
Timepoint[] selectableDays = {
|
||||
new Timepoint(4),
|
||||
new Timepoint(22)
|
||||
};
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableDays);
|
||||
|
||||
Assert.assertFalse(limiter.isPmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPmDisabledShouldReturnFalseIfSelectableDaysContainsMidday() {
|
||||
Timepoint[] selectableDays = {
|
||||
new Timepoint(4),
|
||||
new Timepoint(9),
|
||||
new Timepoint(12)
|
||||
};
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableDays);
|
||||
|
||||
Assert.assertFalse(limiter.isPmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPmDisabledShouldReturnFalseWithoutConstraints() {
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
Assert.assertFalse(limiter.isPmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAmDisabledShouldReturnFalseWithoutConstraints() {
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
Assert.assertFalse(limiter.isAmDisabled());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setMinTimeShouldThrowExceptionWhenBiggerThanMaxTime() {
|
||||
Timepoint maxTime = new Timepoint(2);
|
||||
Timepoint minTime = new Timepoint(3);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
try {
|
||||
limiter.setMinTime(minTime);
|
||||
Assert.fail("setMinTime() should throw IllegalArgumentException");
|
||||
} catch (IllegalArgumentException e) {
|
||||
Assert.assertNotNull(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setMaxTimeShouldThrowExceptionWhenSmallerThanMinTime() {
|
||||
Timepoint maxTime = new Timepoint(2);
|
||||
Timepoint minTime = new Timepoint(3);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
try {
|
||||
limiter.setMaxTime(maxTime);
|
||||
Assert.fail("setMaxTime() should throw IllegalArgumentException");
|
||||
} catch (IllegalArgumentException e) {
|
||||
Assert.assertNotNull(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldReturnTrueIfInputSmallerThanMinTime() {
|
||||
Timepoint minTime = new Timepoint(10);
|
||||
Timepoint input = new Timepoint(2);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldReturnTrueIfInputLargerThanMaxTime() {
|
||||
Timepoint maxTime = new Timepoint(2);
|
||||
Timepoint input = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldReturnFalseIfInputIsBetweenMinAndMaxTime() {
|
||||
Timepoint minTime = new Timepoint(1);
|
||||
Timepoint maxTime = new Timepoint(13);
|
||||
Timepoint input = new Timepoint(4);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldReturnFalseWithoutRestraints() {
|
||||
Timepoint input = new Timepoint(14);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldReturnTrueIfInputNotSelectable() {
|
||||
Timepoint input = new Timepoint(1);
|
||||
Timepoint[] selectableDays = {
|
||||
new Timepoint(13),
|
||||
new Timepoint(14)
|
||||
};
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableDays);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldReturnFalseIfInputSelectable() {
|
||||
Timepoint input = new Timepoint(15);
|
||||
Timepoint[] selectableDays = {
|
||||
new Timepoint(4),
|
||||
new Timepoint(10),
|
||||
new Timepoint(15)
|
||||
};
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableDays);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeWithIndexShouldHandleNull() {
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(null, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnFalseWhenMinTimeEqualsToTheMinute() {
|
||||
Timepoint minTime = new Timepoint(12, 13, 14);
|
||||
Timepoint input = new Timepoint(12, 13);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnFalseWhenMaxTimeEqualsToTheMinute() {
|
||||
Timepoint maxTime = new Timepoint(12, 13, 14);
|
||||
Timepoint input = new Timepoint(12, 13);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnFalseWhenTimeEqualsSelectableTimeToTheMinute() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(12, 13);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnFalseWhenTimeEqualsSelectableTimeToTheMinute2() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(13, 14, 59);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnFalseWhenTimeEqualsSelectableTimeToTheMinute3() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(11, 12, 0);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnTrueWhenTimeDoesNotEqualSelectableTimeToTheMinute() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(11, 11, 0);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnFalseWhenMinTimeEqualsToTheHour() {
|
||||
Timepoint minTime = new Timepoint(12, 13, 14);
|
||||
Timepoint input = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnFalseWhenMaxTimeEqualsToTheHour() {
|
||||
Timepoint maxTime = new Timepoint(12, 13, 14);
|
||||
Timepoint input = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnFalseWhenTimeEqualsSelectableTimeToTheHour() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnFalseWhenTimeEqualsSelectableTimeToTheHour2() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(13, 15, 15);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnFalseWhenTimeEqualsSelectableTimeToTheHour3() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(11);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldWorkWhenSelectableTimesContainsDuplicateEntries() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11),
|
||||
new Timepoint(12),
|
||||
new Timepoint(12),
|
||||
new Timepoint(13)
|
||||
};
|
||||
Timepoint input = new Timepoint(11, 30);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldReturnTrueWhenInputIsInDisabledTimes() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(11),
|
||||
new Timepoint(12),
|
||||
new Timepoint(13)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeShouldUseDisabledOverSelectable() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(11),
|
||||
new Timepoint(12),
|
||||
new Timepoint(13)
|
||||
};
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(12),
|
||||
new Timepoint(14)
|
||||
};
|
||||
Timepoint input = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnFalseWhenADisabledTimeIsTestedWithSecondResolution() {
|
||||
// If there are only disabledTimes, there will still be other times that are valid
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(12),
|
||||
new Timepoint(13),
|
||||
new Timepoint(14)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnFalseWhenADisabledTimeIsTestedWithMinuteResolution() {
|
||||
// If there are only disabledTimes, there will still be other times that are valid
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(12),
|
||||
new Timepoint(13),
|
||||
new Timepoint(14)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.MINUTE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnTrueWhenADisabledTimeIsTestedWithHourResolution() {
|
||||
// If there are only disabledTimes, there will still be other times that are valid
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(12),
|
||||
new Timepoint(13),
|
||||
new Timepoint(14)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.HOUR));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnFalseWhenADisabledTimeIsTestedWithSecondResolution() {
|
||||
// If there are only disabledTimes, there will still be other times that are valid
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(12, 15),
|
||||
new Timepoint(13, 16),
|
||||
new Timepoint(14, 17)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertFalse(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeMinuteShouldReturnFalseWhenADisabledTimeIsTestedWithMinuteResolution() {
|
||||
// If there are only disabledTimes, there will still be other times that are valid
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(12, 15),
|
||||
new Timepoint(13, 16),
|
||||
new Timepoint(14, 17)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input, MINUTE_INDEX, Timepoint.TYPE.MINUTE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOutOfRangeHourShouldReturnTrueWhenADisabledTimeCancelsASelectableTime() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(12),
|
||||
new Timepoint(13)
|
||||
};
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(12),
|
||||
new Timepoint(14),
|
||||
new Timepoint(15)
|
||||
};
|
||||
Timepoint input = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertTrue(limiter.isOutOfRange(input, HOUR_INDEX, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldWorkWhenSelectableTimesContainsDuplicateEntries() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11),
|
||||
new Timepoint(12),
|
||||
new Timepoint(12),
|
||||
new Timepoint(13)
|
||||
};
|
||||
Timepoint input = new Timepoint(12, 29);
|
||||
Timepoint expected = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldReturnMaxTimeIfBiggerThanMaxTime() {
|
||||
Timepoint maxTime = new Timepoint(8);
|
||||
Timepoint input = new Timepoint(12);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), maxTime);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldReturnMinTimeIfSmallerThanMinTime() {
|
||||
Timepoint minTime = new Timepoint(8);
|
||||
Timepoint input = new Timepoint(7);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), minTime);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldReturnInputIfNotOutOfRange() {
|
||||
Timepoint input = new Timepoint(12, 13, 14);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), input);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldReturnSelectableTime() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 14),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = new Timepoint(11);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), selectableTimes[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldNotChangeTheMinutesWhenOptionIsSet() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(15, 16, 17)
|
||||
};
|
||||
Timepoint input = new Timepoint(11, 12, 59);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, Timepoint.TYPE.MINUTE, Timepoint.TYPE.SECOND).getHour(), input.getHour());
|
||||
Assert.assertEquals(limiter.roundToNearest(input, Timepoint.TYPE.MINUTE, Timepoint.TYPE.SECOND).getMinute(), input.getMinute());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldNotChangeTheHourWhenOptionIsSet() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13),
|
||||
new Timepoint(15, 16, 17)
|
||||
};
|
||||
Timepoint input = new Timepoint(12, 59, 59);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, Timepoint.TYPE.HOUR, Timepoint.TYPE.SECOND).getHour(), input.getHour());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldNotChangeTheHourWhenOptionIsSet2() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13),
|
||||
new Timepoint(15, 16, 17)
|
||||
};
|
||||
Timepoint input = new Timepoint(15, 59, 59);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, Timepoint.TYPE.HOUR, Timepoint.TYPE.SECOND).getHour(), input.getHour());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldNotChangeAnythingWhenSecondOptionIsSet() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13),
|
||||
new Timepoint(15, 16, 17)
|
||||
};
|
||||
Timepoint input = new Timepoint(12, 59, 59);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, Timepoint.TYPE.SECOND, Timepoint.TYPE.SECOND), input);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldRoundToNearest() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(11, 12, 16),
|
||||
new Timepoint(12)
|
||||
};
|
||||
Timepoint input = new Timepoint(11, 12, 14);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), selectableTimes[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldRoundToNearestSelectableThatIsNotDisabled() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13)
|
||||
};
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(12, 13, 14)
|
||||
};
|
||||
Timepoint input = new Timepoint(12, 13, 15);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), selectableTimes[2]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldRoundWithSecondIncrementsIfInputIsDisabled() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
Timepoint expected = new Timepoint(11, 12, 14);
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldRoundWithSecondIncrementsIfInputIsDisabled2() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(11, 12, 14),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
Timepoint expected = new Timepoint(11, 12, 12);
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldRoundWithSecondIncrementsIfInputIsDisabled3() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(11, 12, 12),
|
||||
new Timepoint(11, 12, 14),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
Timepoint expected = new Timepoint(11, 12, 15);
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.SECOND), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldRoundWithMinuteIncrementsIfInputIsDisabled() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
Timepoint expected = new Timepoint(11, 13, 13);
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.MINUTE), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestShouldRoundWithHourIncrementsIfInputIsDisabled() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(11, 12, 13),
|
||||
new Timepoint(12, 13, 14),
|
||||
new Timepoint(13, 14, 15)
|
||||
};
|
||||
Timepoint input = disabledTimes[0];
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
Timepoint expected = new Timepoint(10, 12, 13);
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.HOUR), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void roundToNearestIfInputDisablesAtLowerAndUpperTime() {
|
||||
Timepoint[] disabledTimes = new Timepoint[180];
|
||||
for(int l=0; l<=59; l++){ disabledTimes[l] = new Timepoint(0, l); }
|
||||
for(int l=0; l<=59; l++){ disabledTimes[60+l] = new Timepoint(1, l); }
|
||||
for(int l=0; l<=59; l++){ disabledTimes[120+l] = new Timepoint(23, l); }
|
||||
|
||||
Timepoint input = new Timepoint(0, 29, 0);
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
Timepoint expected = new Timepoint(2, 0, 0);
|
||||
Timepoint expected2 = new Timepoint(2, 29, 0);
|
||||
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.MINUTE), expected);
|
||||
Assert.assertEquals(limiter.roundToNearest(input, null, Timepoint.TYPE.HOUR), expected2);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.wdullaer.materialdatetimepicker.time;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TimePickerDialogTest {
|
||||
@Test
|
||||
public void getPickerResolutionShouldReturnSecondIfSecondsAreEnabled() {
|
||||
TimePickerDialog tpd = TimePickerDialog.newInstance(null, false);
|
||||
tpd.enableSeconds(true);
|
||||
Assert.assertEquals(tpd.getPickerResolution(), Timepoint.TYPE.SECOND);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getPickerResolutionShouldReturnMinuteIfMinutesAreEnabled() {
|
||||
TimePickerDialog tpd = TimePickerDialog.newInstance(null, false);
|
||||
tpd.enableSeconds(false);
|
||||
tpd.enableMinutes(true);
|
||||
Assert.assertEquals(tpd.getPickerResolution(), Timepoint.TYPE.MINUTE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getPickerResolutionShouldReturnHourIfMinutesAndSecondsAreDisabled() {
|
||||
TimePickerDialog tpd = TimePickerDialog.newInstance(null, false);
|
||||
tpd.enableMinutes(false);
|
||||
Assert.assertEquals(tpd.getPickerResolution(), Timepoint.TYPE.HOUR);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,233 @@
|
||||
package com.wdullaer.materialdatetimepicker.time;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.Assert;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
public class TimepointTest {
|
||||
|
||||
@Test
|
||||
public void timepointsWithSameFieldsShouldHaveSameHashCode() {
|
||||
Timepoint first = new Timepoint(12, 0, 0);
|
||||
Timepoint second = new Timepoint(12, 0, 0);
|
||||
Assert.assertEquals(first.hashCode(), second.hashCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void timepointsWithSameFieldsShouldBeEquals() {
|
||||
Timepoint first = new Timepoint(12, 0, 0);
|
||||
Timepoint second = new Timepoint(12, 0, 0);
|
||||
Assert.assertEquals(first, second);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void timepointsWithSameFieldsShouldBeDistinctInHashSet() {
|
||||
HashSet<Timepoint> timepoints = new HashSet<>(4);
|
||||
timepoints.add(new Timepoint(12, 0, 0));
|
||||
timepoints.add(new Timepoint(12, 0, 0));
|
||||
timepoints.add(new Timepoint(12, 0, 0));
|
||||
timepoints.add(new Timepoint(12, 0, 0));
|
||||
Assert.assertEquals(timepoints.size(), 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void timepointsWithDifferentFieldsShouldNotBeDistinctInHashSet() {
|
||||
HashSet<Timepoint> timepoints = new HashSet<>(4);
|
||||
timepoints.add(new Timepoint(12, 1, 0));
|
||||
timepoints.add(new Timepoint(12, 2, 0));
|
||||
timepoints.add(new Timepoint(12, 3, 0));
|
||||
timepoints.add(new Timepoint(12, 4, 0));
|
||||
Assert.assertEquals(timepoints.size(), 4);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void compareToShouldReturnNegativeIfArgumentIsBigger() {
|
||||
Timepoint orig = new Timepoint(12, 11, 10);
|
||||
Timepoint arg = new Timepoint(13, 14, 15);
|
||||
Assert.assertTrue(orig.compareTo(arg) < 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void compareToShouldReturnPositiveIfArgumentIsSmaller() {
|
||||
Timepoint orig = new Timepoint(12, 11, 10);
|
||||
Timepoint arg = new Timepoint(10, 14, 15);
|
||||
Assert.assertTrue(orig.compareTo(arg) > 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void compareToShouldReturnZeroIfArgumentIsEqual() {
|
||||
Timepoint orig = new Timepoint(12, 11, 10);
|
||||
Timepoint arg = new Timepoint(12, 11, 10);
|
||||
Assert.assertEquals(0, orig.compareTo(arg));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAMShouldReturnTrueIfTimepointIsBeforeMidday() {
|
||||
Timepoint timepoint = new Timepoint(11);
|
||||
Assert.assertTrue(timepoint.isAM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAMShouldReturnFalseIfTimepointIsMidday() {
|
||||
Timepoint timepoint = new Timepoint(12);
|
||||
Assert.assertFalse(timepoint.isAM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAMShouldReturnFalseIfTimepointIsAfterMidday() {
|
||||
Timepoint timepoint = new Timepoint(13);
|
||||
Assert.assertFalse(timepoint.isAM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAMShouldReturnTrueIfTimepointIsMidnight() {
|
||||
Timepoint timepoint = new Timepoint(0);
|
||||
Assert.assertTrue(timepoint.isAM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPMShouldReturnFalseIfTimepointIsBeforeMidday() {
|
||||
Timepoint timepoint = new Timepoint(11);
|
||||
Assert.assertFalse(timepoint.isPM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPMShouldReturnTrueIfTimepointIsMidday() {
|
||||
Timepoint timepoint = new Timepoint(12);
|
||||
Assert.assertTrue(timepoint.isPM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPMShouldReturnTrueIfTimepointIsAfterMidday() {
|
||||
Timepoint timepoint = new Timepoint(13);
|
||||
Assert.assertTrue(timepoint.isPM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPMShouldReturnFalseIfTimepointIsMidnight() {
|
||||
Timepoint timepoint = new Timepoint(0);
|
||||
Assert.assertFalse(timepoint.isPM());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAMShouldDoNothingIfTimepointIsBeforeMidday() {
|
||||
Timepoint timepoint = new Timepoint(11);
|
||||
timepoint.setAM();
|
||||
Assert.assertEquals(timepoint.getHour(), 11);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAMShouldSetToMidnightIfTimepointIsMidday() {
|
||||
Timepoint timepoint = new Timepoint(12);
|
||||
timepoint.setAM();
|
||||
Assert.assertEquals(timepoint.getHour(), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAMShouldSetBeforeMiddayIfTimepointIsAfterMidday() {
|
||||
Timepoint timepoint = new Timepoint(13);
|
||||
timepoint.setAM();
|
||||
Assert.assertEquals(timepoint.getHour(), 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAMShouldDoNothingIfTimepointIsMidnight() {
|
||||
Timepoint timepoint = new Timepoint(0);
|
||||
timepoint.setAM();
|
||||
Assert.assertEquals(timepoint.getHour(), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAMShouldNotChangeMinutesOrSeconds() {
|
||||
Timepoint timepoint = new Timepoint(13, 14, 15);
|
||||
timepoint.setAM();
|
||||
Assert.assertEquals(timepoint.getMinute(), 14);
|
||||
Assert.assertEquals(timepoint.getSecond(), 15);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setPMShouldDoNothingIfTimepointIsAfterMidday() {
|
||||
Timepoint timepoint = new Timepoint(13);
|
||||
timepoint.setPM();
|
||||
Assert.assertEquals(timepoint.getHour(), 13);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setPMShouldSetToMiddayIfTimepointIsMidnight() {
|
||||
Timepoint timepoint = new Timepoint(0);
|
||||
timepoint.setPM();
|
||||
Assert.assertEquals(timepoint.getHour(), 12);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setPMShouldSetAfterMiddayIfTimepointIsBeforeMidday() {
|
||||
Timepoint timepoint = new Timepoint(5);
|
||||
timepoint.setPM();
|
||||
Assert.assertEquals(timepoint.getHour(), 17);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setPMShouldDoNothingIfTimepointIsMidday() {
|
||||
Timepoint timepoint = new Timepoint(12);
|
||||
timepoint.setPM();
|
||||
Assert.assertEquals(timepoint.getHour(), 12);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setPMShouldNotChangeMinutesOrSeconds() {
|
||||
Timepoint timepoint = new Timepoint(1, 14, 15);
|
||||
timepoint.setPM();
|
||||
Assert.assertEquals(timepoint.getMinute(), 14);
|
||||
Assert.assertEquals(timepoint.getSecond(), 15);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldReturnTrueWhenInputsAreEqualWithSecondsResolution() {
|
||||
Timepoint timepoint1 = new Timepoint(1, 14, 15);
|
||||
Timepoint timepoint2 = new Timepoint(1, 14, 15);
|
||||
Assert.assertTrue(timepoint1.equals(timepoint2, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldReturnFalseWhenInputsDifferWithSecondsResolution() {
|
||||
Timepoint timepoint1 = new Timepoint(1, 14, 15);
|
||||
Timepoint timepoint2 = new Timepoint(1, 14, 16);
|
||||
Assert.assertFalse(timepoint1.equals(timepoint2, Timepoint.TYPE.SECOND));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldIgnoreSecondsWithMinuteResolution() {
|
||||
Timepoint timepoint1 = new Timepoint(1, 14, 15);
|
||||
Timepoint timepoint2 = new Timepoint(1, 14, 16);
|
||||
Assert.assertTrue(timepoint1.equals(timepoint2, Timepoint.TYPE.MINUTE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldReturnFalseWhenInputsDifferWithMinuteResolution() {
|
||||
Timepoint timepoint1 = new Timepoint(1, 14, 15);
|
||||
Timepoint timepoint2 = new Timepoint(1, 15, 15);
|
||||
Assert.assertFalse(timepoint1.equals(timepoint2, Timepoint.TYPE.MINUTE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldIgnoreSecondsWithHourResolution() {
|
||||
Timepoint timepoint1 = new Timepoint(1, 14, 15);
|
||||
Timepoint timepoint2 = new Timepoint(1, 14, 16);
|
||||
Assert.assertTrue(timepoint1.equals(timepoint2, Timepoint.TYPE.HOUR));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldIgnoreMinutesWithHourResolution() {
|
||||
Timepoint timepoint1 = new Timepoint(1, 14, 15);
|
||||
Timepoint timepoint2 = new Timepoint(1, 15, 16);
|
||||
Assert.assertTrue(timepoint1.equals(timepoint2, Timepoint.TYPE.HOUR));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equalsShouldReturnFalseWhenInputsDifferWithHourResolution() {
|
||||
Timepoint timepoint1 = new Timepoint(1, 14, 15);
|
||||
Timepoint timepoint2 = new Timepoint(2, 14, 15);
|
||||
Assert.assertFalse(timepoint1.equals(timepoint2, Timepoint.TYPE.HOUR));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user