6.6.3 - Alpha2 - 本地化 Material Date Time Picker (版本 4.2.3)
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
package com.wdullaer.materialdatetimepicker.date;
|
||||
|
||||
import android.os.Parcel;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Unit tests for DefaultDateRangeLimiter which need to run on an android device
|
||||
* Mostly used to test Parcelable serialisation logic
|
||||
* Created by wdullaer on 2/11/17.
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class DefaultDateRangeLimiterTest {
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithAYearRange() {
|
||||
int minYear = 1985;
|
||||
int maxYear = 2015;
|
||||
|
||||
DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter();
|
||||
limiter.setYearRange(minYear, maxYear);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
limiter.writeToParcel(parcel, 0);
|
||||
parcel.setDataPosition(0);
|
||||
DefaultDateRangeLimiter clonedLimiter = DefaultDateRangeLimiter.CREATOR.createFromParcel(parcel);
|
||||
|
||||
assertEquals(clonedLimiter.getMinYear(), minYear);
|
||||
assertEquals(clonedLimiter.getMaxYear(), maxYear);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithAMinDate() {
|
||||
Calendar minDate = Calendar.getInstance();
|
||||
minDate.set(Calendar.YEAR, 1980);
|
||||
|
||||
DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter();
|
||||
limiter.setMinDate(minDate);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
limiter.writeToParcel(parcel, 0);
|
||||
parcel.setDataPosition(0);
|
||||
DefaultDateRangeLimiter clonedLimiter = DefaultDateRangeLimiter.CREATOR.createFromParcel(parcel);
|
||||
|
||||
assertEquals(clonedLimiter.getMinDate(), limiter.getMinDate());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithAMaxDate() {
|
||||
Calendar maxDate = Calendar.getInstance();
|
||||
|
||||
DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter();
|
||||
limiter.setMaxDate(maxDate);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
limiter.writeToParcel(parcel, 0);
|
||||
parcel.setDataPosition(0);
|
||||
DefaultDateRangeLimiter clonedLimiter = DefaultDateRangeLimiter.CREATOR.createFromParcel(parcel);
|
||||
|
||||
assertEquals(clonedLimiter.getMaxDate(), limiter.getMaxDate());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithSelectableDays() {
|
||||
Calendar day1 = Calendar.getInstance();
|
||||
day1.set(Calendar.YEAR, 1985);
|
||||
Calendar day2 = Calendar.getInstance();
|
||||
Calendar[] selectableDays = {
|
||||
day1,
|
||||
day2
|
||||
};
|
||||
|
||||
DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter();
|
||||
limiter.setSelectableDays(selectableDays);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
limiter.writeToParcel(parcel, 0);
|
||||
parcel.setDataPosition(0);
|
||||
DefaultDateRangeLimiter clonedLimiter = DefaultDateRangeLimiter.CREATOR.createFromParcel(parcel);
|
||||
|
||||
assertArrayEquals(clonedLimiter.getSelectableDays(), limiter.getSelectableDays());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithDisabledDays() {
|
||||
Calendar day1 = Calendar.getInstance();
|
||||
day1.set(Calendar.YEAR, 1985);
|
||||
Calendar day2 = Calendar.getInstance();
|
||||
Calendar[] disabledDays = {
|
||||
day1,
|
||||
day2
|
||||
};
|
||||
|
||||
DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter();
|
||||
limiter.setDisabledDays(disabledDays);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
limiter.writeToParcel(parcel, 0);
|
||||
parcel.setDataPosition(0);
|
||||
DefaultDateRangeLimiter clonedLimiter = DefaultDateRangeLimiter.CREATOR.createFromParcel(parcel);
|
||||
|
||||
assertArrayEquals(clonedLimiter.getDisabledDays(), limiter.getDisabledDays());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcel() {
|
||||
int minYear = 1970;
|
||||
int maxYear = 2020;
|
||||
|
||||
Calendar minDate = Calendar.getInstance();
|
||||
minDate.set(Calendar.YEAR, 1985);
|
||||
Calendar maxDate = Calendar.getInstance();
|
||||
maxDate.set(Calendar.YEAR, 2019);
|
||||
|
||||
Calendar day1 = Calendar.getInstance();
|
||||
day1.set(Calendar.MONTH, Calendar.JANUARY);
|
||||
Calendar day2 = Calendar.getInstance();
|
||||
day2.set(Calendar.MONTH, Calendar.AUGUST);
|
||||
Calendar[] disabledDays = {
|
||||
day1,
|
||||
day2
|
||||
};
|
||||
|
||||
Calendar[] selectableDays = {
|
||||
Calendar.getInstance()
|
||||
};
|
||||
|
||||
DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter();
|
||||
limiter.setYearRange(minYear, maxYear);
|
||||
limiter.setMinDate(minDate);
|
||||
limiter.setMaxDate(maxDate);
|
||||
limiter.setDisabledDays(disabledDays);
|
||||
limiter.setSelectableDays(selectableDays);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
limiter.writeToParcel(parcel, 0);
|
||||
parcel.setDataPosition(0);
|
||||
DefaultDateRangeLimiter clonedLimiter = DefaultDateRangeLimiter.CREATOR.createFromParcel(parcel);
|
||||
|
||||
assertEquals(clonedLimiter.getMinYear(), limiter.getMinYear());
|
||||
assertEquals(clonedLimiter.getMaxYear(), limiter.getMaxYear());
|
||||
assertEquals(clonedLimiter.getMinDate(), limiter.getMinDate());
|
||||
assertEquals(clonedLimiter.getMaxDate(), limiter.getMaxDate());
|
||||
assertArrayEquals(clonedLimiter.getDisabledDays(), limiter.getDisabledDays());
|
||||
assertArrayEquals(clonedLimiter.getSelectableDays(), limiter.getSelectableDays());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.wdullaer.materialdatetimepicker.time;
|
||||
|
||||
import android.os.Parcel;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Unit tests for DefaultTimepointLimiter which need to run on an android device
|
||||
* Mostly used to test Parcelable serialisation logic
|
||||
* Created by wdullaer on 1/11/17.
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class DefaultTimepointLimiterTest {
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithMinTime() {
|
||||
Timepoint minTime = new Timepoint(1, 2, 3);
|
||||
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
limiter.setMinTime(minTime);
|
||||
|
||||
Parcel limiterParcel = Parcel.obtain();
|
||||
limiter.writeToParcel(limiterParcel, 0);
|
||||
limiterParcel.setDataPosition(0);
|
||||
|
||||
DefaultTimepointLimiter clonedLimiter = DefaultTimepointLimiter.CREATOR.createFromParcel(limiterParcel);
|
||||
|
||||
assertEquals(clonedLimiter.getMinTime(), minTime);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithMaxTime() {
|
||||
Timepoint maxTime = new Timepoint(1, 2, 3);
|
||||
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
limiter.setMaxTime(maxTime);
|
||||
|
||||
Parcel limiterParcel = Parcel.obtain();
|
||||
limiter.writeToParcel(limiterParcel, 0);
|
||||
limiterParcel.setDataPosition(0);
|
||||
|
||||
DefaultTimepointLimiter clonedLimiter = DefaultTimepointLimiter.CREATOR.createFromParcel(limiterParcel);
|
||||
|
||||
assertEquals(clonedLimiter.getMaxTime(), maxTime);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithSelectableTimes() {
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(1, 2, 3),
|
||||
new Timepoint(10, 11, 12)
|
||||
};
|
||||
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
|
||||
Parcel limiterParcel = Parcel.obtain();
|
||||
limiter.writeToParcel(limiterParcel, 0);
|
||||
limiterParcel.setDataPosition(0);
|
||||
|
||||
DefaultTimepointLimiter clonedLimiter = DefaultTimepointLimiter.CREATOR.createFromParcel(limiterParcel);
|
||||
|
||||
assertArrayEquals(clonedLimiter.getDisabledTimes(), disabledTimes);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcelWithDisabledTimes() {
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(1, 2, 3),
|
||||
new Timepoint(10, 11, 12)
|
||||
};
|
||||
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Parcel limiterParcel = Parcel.obtain();
|
||||
limiter.writeToParcel(limiterParcel, 0);
|
||||
limiterParcel.setDataPosition(0);
|
||||
|
||||
DefaultTimepointLimiter clonedLimiter = DefaultTimepointLimiter.CREATOR.createFromParcel(limiterParcel);
|
||||
|
||||
assertArrayEquals(clonedLimiter.getSelectableTimes(), selectableTimes);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcel() {
|
||||
Timepoint minTime = new Timepoint(1, 2, 3);
|
||||
Timepoint maxTime = new Timepoint(12, 13, 14);
|
||||
Timepoint[] disabledTimes = {
|
||||
new Timepoint(2, 3, 4),
|
||||
new Timepoint(3, 4, 5)
|
||||
};
|
||||
Timepoint[] selectableTimes = {
|
||||
new Timepoint(2, 3, 4),
|
||||
new Timepoint(10, 11, 12)
|
||||
};
|
||||
|
||||
DefaultTimepointLimiter limiter = new DefaultTimepointLimiter();
|
||||
limiter.setMinTime(minTime);
|
||||
limiter.setMaxTime(maxTime);
|
||||
limiter.setDisabledTimes(disabledTimes);
|
||||
limiter.setSelectableTimes(selectableTimes);
|
||||
|
||||
Parcel limiterParcel = Parcel.obtain();
|
||||
limiter.writeToParcel(limiterParcel, 0);
|
||||
limiterParcel.setDataPosition(0);
|
||||
|
||||
DefaultTimepointLimiter clonedLimiter = DefaultTimepointLimiter.CREATOR.createFromParcel(limiterParcel);
|
||||
|
||||
assertEquals(clonedLimiter.getMinTime(), minTime);
|
||||
assertEquals(clonedLimiter.getMaxTime(), maxTime);
|
||||
assertArrayEquals(clonedLimiter.getDisabledTimes(), disabledTimes);
|
||||
assertArrayEquals(clonedLimiter.getSelectableTimes(), selectableTimes);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.wdullaer.materialdatetimepicker.time;
|
||||
|
||||
import android.os.Parcel;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* Test for Timepoint which need to run on an actual device
|
||||
* Created by wdullaer on 1/11/17.
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class TimepointTest {
|
||||
@Test
|
||||
public void shouldCorrectlySaveAndRestoreAParcel() {
|
||||
Timepoint input = new Timepoint(1, 2, 3);
|
||||
Parcel timepointParcel = Parcel.obtain();
|
||||
input.writeToParcel(timepointParcel, 0);
|
||||
timepointParcel.setDataPosition(0);
|
||||
|
||||
Timepoint output = Timepoint.CREATOR.createFromParcel(timepointParcel);
|
||||
assertEquals(input.getHour(), output.getHour());
|
||||
assertEquals(input.getMinute(), output.getMinute());
|
||||
assertEquals(input.getSecond(), output.getSecond());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user