package com.vaadin.v7.tests.data.converter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import org.junit.Assert; import org.junit.Test; import com.vaadin.v7.data.util.converter.StringToBooleanConverter; public class StringToBooleanConverterTest { StringToBooleanConverter converter = new StringToBooleanConverter(); StringToBooleanConverter yesNoConverter = new StringToBooleanConverter( "yes", "no"); StringToBooleanConverter localeConverter = new StringToBooleanConverter() { @Override public String getFalseString(Locale locale) { Date d = new Date(3000000000000L); return SimpleDateFormat .getDateInstance(SimpleDateFormat.LONG, locale) .format(d.getTime() + (d.getTimezoneOffset() + 120) * 60 * 1000L); } @Override public String getTrueString(Locale locale) { Date d = new Date(2000000000000L); return SimpleDateFormat .getDateInstance(SimpleDateFormat.LONG, locale) .format(d.getTime() + (d.getTimezoneOffset() + 120) * 60 * 1000L); } }; @Test public void testNullConversion() { Assert.assertEquals(null, converter.convertToModel(null, Boolean.class, null)); } @Test public void testEmptyStringConversion() { Assert.assertEquals(null, converter.convertToModel("", Boolean.class, null)); } @Test public void testValueConversion() { Assert.assertTrue( converter.convertToModel("true", Boolean.class, null)); Assert.assertFalse( converter.convertToModel("false", Boolean.class, null)); } @Test public void testYesNoValueConversion() { Assert.assertTrue( yesNoConverter.convertToModel("yes", Boolean.class, null)); Assert.assertFalse( yesNoConverter.convertToModel("no", Boolean.class, null)); Assert.assertEquals("yes", yesNoConverter.convertToPresentation(true, String.class, null)); Assert.assertEquals("no", yesNoConverter.convertToPresentation(false, String.class, null)); } @Test public void testLocale() { Assert.assertEquals("May 18, 2033", localeConverter .convertToPresentation(true, String.class, Locale.US)); Assert.assertEquals("January 24, 2065", localeConverter .convertToPresentation(false, String.class, Locale.US)); Assert.assertEquals("18. Mai 2033", localeConverter .convertToPresentation(true, String.class, Locale.GERMANY)); Assert.assertEquals("24. Januar 2065", localeConverter .convertToPresentation(false, String.class, Locale.GERMANY)); } }