@Test
public void testSimpleDateConversionForNST() {

    DateTimeZone defaultTZ = DateTimeZone.getDefault();
    DateTimeZone.setDefault(DateTimeZone.forID("Asia/Novosibirsk"));
    try {
        DateTimeStandardizer standardizer = new DateTimeStandardizer("MM/dd/YYYY", OutputFormats.DATE_ONLY);
        assertEquals("1983-04-02", standardizer.convertValue("4/2/1983"));
        assertEquals("1983-04-01", standardizer.convertValue("4/1/1983"));
        standardizer = new DateTimeStandardizer("MM/dd/YYYY HH:mm:ss", OutputFormats.DATE_ONLY);
        assertEquals("1983-04-01", standardizer.convertValue("04/01/1983 01:32:54"));
        try {
            assertEquals("1983-04-01", standardizer.convertValue("04/01/1983 00:32:54"));
            assertTrue( "standardizer should have thrown IllegalInstantException exception, when parsing instant in timezone transition", false);
        } catch( IllegalInstantException iie ) {
            assertTrue(true);
        }
        for (OutputFormats oformat : Arrays.asList(OutputFormats.DATETIME, OutputFormats.DATETIME_NOMILLIS)) {
            try {
                standardizer = new DateTimeStandardizer("MM/dd/YYYY HH:mm:ss", oformat);
                standardizer.convertValue("04/01/1983 00:32:54");
                assertTrue(String.format("standardizer should have thrown IllegalInstantException exception for format '%s'", oformat),
                            false);
            } catch (IllegalInstantException iie) {
                assertTrue(true);
            }
        }
    } finally {
        DateTimeZone.setDefault(defaultTZ);
    }
}