diff options
author | Denis Anisimov <denis@vaadin.com> | 2016-09-27 10:41:37 +0300 |
---|---|---|
committer | Denis Anisimov <denis@vaadin.com> | 2016-09-30 06:56:18 +0000 |
commit | d36d63fefa3ab9f4908f97772bcc6499e4f52532 (patch) | |
tree | d2189db8f44601925a96435dedec031459eeed57 /server/src/test | |
parent | db3a91c9b4d8d0451c8f1c5e875f4c6f6f50324a (diff) | |
download | vaadin-framework-d36d63fefa3ab9f4908f97772bcc6499e4f52532.tar.gz vaadin-framework-d36d63fefa3ab9f4908f97772bcc6499e4f52532.zip |
Make AbstractDateField based on LocalDate (#125).
Change-Id: I33a4a4f0f3437a8d1733031a131afbe844c12afb
Diffstat (limited to 'server/src/test')
5 files changed, 54 insertions, 80 deletions
diff --git a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java index 41c9806165..0b55bc8cad 100644 --- a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java +++ b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java @@ -15,8 +15,7 @@ */ package com.vaadin.data; -import java.util.Calendar; -import java.util.Date; +import java.time.LocalDate; import java.util.List; import java.util.Locale; import java.util.concurrent.atomic.AtomicReference; @@ -33,9 +32,9 @@ import com.vaadin.data.util.converter.StringToIntegerConverter; import com.vaadin.data.validator.EmailValidator; import com.vaadin.server.AbstractErrorMessage; import com.vaadin.ui.Button; +import com.vaadin.ui.DateField; import com.vaadin.ui.Label; import com.vaadin.ui.Notification; -import com.vaadin.ui.DateField; import com.vaadin.ui.Slider; import com.vaadin.ui.TextField; @@ -116,13 +115,13 @@ public class BinderBookOfVaadinTest { } public static class Trip { - private Date returnDate; + private LocalDate returnDate; - public Date getReturnDate() { + public LocalDate getReturnDate() { return returnDate; } - public void setReturnDate(Date returnDate) { + public void setReturnDate(LocalDate returnDate) { this.returnDate = returnDate; } } @@ -304,20 +303,18 @@ public class BinderBookOfVaadinTest { DateField departing = new DateField("Departing"); DateField returning = new DateField("Returning"); - Binding<Trip, Date, Date> returnBinding = binder.forField(returning) - .withValidator( - returnDate -> !returnDate.before(departing.getValue()), + Binding<Trip, LocalDate, LocalDate> returnBinding = binder + .forField(returning).withValidator( + returnDate -> !returnDate + .isBefore(departing.getValue()), "Cannot return before departing"); returnBinding.bind(Trip::getReturnDate, Trip::setReturnDate); departing.addValueChangeListener(event -> returnBinding.validate()); - Calendar calendar = Calendar.getInstance(); - Date past = calendar.getTime(); - calendar.add(1, Calendar.DAY_OF_YEAR); - Date before = calendar.getTime(); - calendar.add(1, Calendar.DAY_OF_YEAR); - Date after = calendar.getTime(); + LocalDate past = LocalDate.now(); + LocalDate before = past.plusDays(1); + LocalDate after = before.plusDays(1); departing.setValue(before); returning.setValue(after); @@ -359,25 +356,23 @@ public class BinderBookOfVaadinTest { DateField departing = new DateField("Departing"); DateField returning = new DateField("Returning"); - Binding<Trip, Date, Date> returnBinding = binder.forField(returning) - .withValidator( - returnDate -> !returnDate.before(departing.getValue()), + Binding<Trip, LocalDate, LocalDate> returnBinding = binder + .forField(returning).withValidator( + returnDate -> !returnDate + .isBefore(departing.getValue()), "Cannot return before departing"); returnBinding.bind(Trip::getReturnDate, Trip::setReturnDate); departing.addValueChangeListener(event -> returnBinding.validate()); - Calendar calendar = Calendar.getInstance(); - Date past = calendar.getTime(); - calendar.add(1, Calendar.DAY_OF_YEAR); - Date before = calendar.getTime(); - calendar.add(1, Calendar.DAY_OF_YEAR); - Date after = calendar.getTime(); + LocalDate past = LocalDate.now(); + LocalDate before = past.plusDays(1); + LocalDate after = before.plusDays(1); departing.setValue(before); returning.setValue(after); - ValidationStatus<Date> result = returnBinding.validate(); + ValidationStatus<LocalDate> result = returnBinding.validate(); Assert.assertFalse(result.isError()); Assert.assertNull(departing.getComponentError()); @@ -465,8 +460,7 @@ public class BinderBookOfVaadinTest { @Test public void binder_saveIfValid() { - BeanBinder<BookPerson> binder = new BeanBinder<BookPerson>( - BookPerson.class); + BeanBinder<BookPerson> binder = new BeanBinder<>(BookPerson.class); // Phone or email has to be specified for the bean Validator<BookPerson> phoneOrEmail = Validator.from( diff --git a/server/src/test/java/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java index 9d6e57b207..0448bf5697 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/datefield/DateFieldDeclarativeTest.java @@ -15,11 +15,10 @@ */ package com.vaadin.tests.server.component.datefield; -import java.util.Date; +import java.time.LocalDate; import org.junit.Test; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.design.DeclarativeTestBase; import com.vaadin.ui.AbstractDateField; import com.vaadin.ui.DateField; @@ -31,20 +30,18 @@ import com.vaadin.ui.DateField; * @since 7.4 * @author Vaadin Ltd */ -public class DateFieldDeclarativeTest - extends DeclarativeTestBase<DateField> { +public class DateFieldDeclarativeTest extends DeclarativeTestBase<DateField> { private String getBasicDesign() { - return "<vaadin-date-field assistive-text='at' text-field-enabled='false' show-iso-week-numbers resolution=\"MINUTE\" range-end=\"2019-01-15\" input-prompt=\"Pick a day\" value=\"2003-02-27 07:15\"></vaadin-date-field>"; + return "<vaadin-date-field assistive-text='at' text-field-enabled='false' show-iso-week-numbers range-end=\"2019-01-15\" input-prompt=\"Pick a day\" value=\"2003-02-27\"></vaadin-date-field>"; } private DateField getBasicExpected() { DateField pdf = new DateField(); pdf.setShowISOWeekNumbers(true); - pdf.setResolution(Resolution.MINUTE); - pdf.setRangeEnd(new Date(2019 - 1900, 1 - 1, 15)); + pdf.setRangeEnd(LocalDate.of(2019, 01, 15)); pdf.setInputPrompt("Pick a day"); - pdf.setValue(new Date(2003 - 1900, 2 - 1, 27, 7, 15)); + pdf.setValue(LocalDate.of(2003, 2, 27)); pdf.setTextFieldEnabled(false); pdf.setAssistiveText("at"); return pdf; diff --git a/server/src/test/java/com/vaadin/tests/server/component/datefield/InlineDateFieldDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/datefield/InlineDateFieldDeclarativeTest.java index 70309c7e7d..c947641986 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/datefield/InlineDateFieldDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/datefield/InlineDateFieldDeclarativeTest.java @@ -17,18 +17,18 @@ package com.vaadin.tests.server.component.datefield; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.text.SimpleDateFormat; +import java.time.LocalDate; import org.junit.Test; -import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.design.DeclarativeTestBase; import com.vaadin.ui.AbstractDateField; import com.vaadin.ui.InlineDateField; import com.vaadin.ui.declarative.Design; /** - * Tests the declarative support for implementations of {@link AbstractDateField}. + * Tests the declarative support for implementations of + * {@link AbstractDateField}. * * @since 7.4 * @author Vaadin Ltd @@ -39,13 +39,10 @@ public class InlineDateFieldDeclarativeTest @Test public void testInlineDateFieldToFromDesign() throws Exception { InlineDateField field = new InlineDateField("Day is", - new SimpleDateFormat("yyyy-MM-dd").parse("2003-02-27")); - field.setResolution(Resolution.DAY); + LocalDate.of(2003, 2, 27)); field.setShowISOWeekNumbers(true); - field.setRangeStart( - new SimpleDateFormat("yyyy-MM-dd").parse("2001-02-27")); - field.setRangeEnd( - new SimpleDateFormat("yyyy-MM-dd").parse("2011-02-27")); + field.setRangeStart(LocalDate.of(2001, 2, 27)); + field.setRangeEnd(LocalDate.of(20011, 2, 27)); ByteArrayOutputStream bos = new ByteArrayOutputStream(); Design.write(field, bos); diff --git a/server/src/test/java/com/vaadin/tests/server/component/datefield/ResolutionTest.java b/server/src/test/java/com/vaadin/tests/server/component/datefield/ResolutionTest.java index 2fb7702aeb..cb8b6f4914 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/datefield/ResolutionTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/datefield/ResolutionTest.java @@ -31,35 +31,12 @@ public class ResolutionTest { } @Test - public void testResolutionLowerThanDay() { - Iterable<Resolution> higherOrEqual = Resolution - .getResolutionsLowerThan(Resolution.DAY); - ArrayList<Resolution> expected = new ArrayList<>(); - expected.add(Resolution.HOUR); - expected.add(Resolution.MINUTE); - expected.add(Resolution.SECOND); - TestUtil.assertIterableEquals(expected, higherOrEqual); - - } - - @Test - public void testResolutionLowerThanSecond() { - Iterable<Resolution> higherOrEqual = Resolution - .getResolutionsLowerThan(Resolution.SECOND); - ArrayList<Resolution> expected = new ArrayList<>(); - TestUtil.assertIterableEquals(expected, higherOrEqual); - } - - @Test public void testResolutionLowerThanYear() { Iterable<Resolution> higherOrEqual = Resolution .getResolutionsLowerThan(Resolution.YEAR); ArrayList<Resolution> expected = new ArrayList<>(); expected.add(Resolution.MONTH); expected.add(Resolution.DAY); - expected.add(Resolution.HOUR); - expected.add(Resolution.MINUTE); - expected.add(Resolution.SECOND); TestUtil.assertIterableEquals(expected, higherOrEqual); } diff --git a/server/src/test/java/com/vaadin/ui/DateFieldTestCase.java b/server/src/test/java/com/vaadin/ui/DateFieldTestCase.java index b7b7dfd9f9..8abb16af6c 100644 --- a/server/src/test/java/com/vaadin/ui/DateFieldTestCase.java +++ b/server/src/test/java/com/vaadin/ui/DateFieldTestCase.java @@ -4,21 +4,22 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsNull.nullValue; -import java.util.Date; +import java.time.LocalDate; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class DateFieldTestCase { private AbstractDateField dateField; - private Date date; + private LocalDate date; @Before public void setup() { dateField = new AbstractDateField() { }; - date = new Date(); + date = LocalDate.now(); } @Test @@ -29,13 +30,17 @@ public class DateFieldTestCase { } @Test - public void rangeStartIsImmutable() { - long expectedTime = date.getTime(); - + public void rangeStartIsAcceptedAsValue() { dateField.setRangeStart(date); - date.setTime(expectedTime + 1); + dateField.setValue(date); + Assert.assertNull(dateField.getComponentError()); + } - assertThat(dateField.getRangeStart().getTime(), is(expectedTime)); + @Test + public void belowRangeStartIsNotAcceptedAsValue() { + dateField.setRangeStart(date); + dateField.setValue(date.minusDays(1)); + Assert.assertNotNull(dateField.getComponentError()); } @Test @@ -46,12 +51,16 @@ public class DateFieldTestCase { } @Test - public void rangeEndIsImmutable() { - long expectedTime = date.getTime(); - + public void rangeEndIsAcceptedAsValue() { dateField.setRangeEnd(date); - date.setTime(expectedTime + 1); + dateField.setValue(date); + Assert.assertNull(dateField.getComponentError()); + } - assertThat(dateField.getRangeEnd().getTime(), is(expectedTime)); + @Test + public void aboveRangeEndIsNotAcceptedAsValue() { + dateField.setRangeEnd(date); + dateField.setValue(date.plusDays(1)); + Assert.assertNotNull(dateField.getComponentError()); } } |