/************************************************************************** * Copyright (c) 2001 by Acunia N.V. All rights reserved. * * * * This software is copyrighted by and is the sole property of Acunia N.V. * * and its licensors, if any. All rights, title, ownership, or other * * interests in the software remain the property of Acunia N.V. and its * * licensors, if any. * * * * This software may only be used in accordance with the corresponding * * license agreement. Any unauthorized use, duplication, transmission, * * distribution or disclosure of this software is expressly forbidden. * * * * This Copyright notice may not be removed or modified without prior * * written consent of Acunia N.V. * * * * Acunia N.V. reserves the right to modify this software without notice. * * * * Acunia N.V. * * Vanden Tymplestraat 35 info@acunia.com * * 3000 Leuven http://www.acunia.com * * Belgium - EUROPE * **************************************************************************/ package gnu.testlet.wonka.util.GregorianCalendar; //complete the package name ... import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; // at least the class you are testing ... /** * this file contains test for java.util.GregorianCalendar <br> * */ public class SMGregorianCalendarTest implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; th.setclass("java.util.GregorianCalendar"); test_(); test_behaviour(); } /** * not implemented. <br> * */ public void test_(){ th.checkPoint("()"); } /** * not implemented. <br> * */ public void test_behaviour(){ th.checkPoint("GregorianCalendar()"); GregorianCalendar gc = new GregorianCalendar(); // gc.setTime(new Date(12345678910000L)); // th.debug(""+new Date(12345678910000L)); /* GregorianCalendar cp = cloneGC(gc); th.debug("gc = "+gc.getTime()); th.debug("gc = "+cp.getTime()); th.debug("jan 1 1970 :"+new Date(0L)); th.check( gc.getTime().getTime() , cp.getTime().getTime() ,"checking new long values -- 1"); gc.setTime(new Date(0L)); cp = cloneGC(gc); th.check( cp.getTime().getTime() == 0L ,"test time is set"); for (int i=3 ; i <250 ; i++) { gc.clear(); gc.setTime(new Date((long)i*235456L+5234567891000L)); cp = cloneGC(gc); th.check( gc.getTime().getTime() , cp.getTime().getTime() ,"checking new long values -- "+i); } th.debug(gc.toString()+"\n"+gc.getTime()); th.debug(gc.getTime().toString()+" --> year = "+gc.get(Calendar.YEAR)); th.debug(cp.toString()+"\n"+cp.getTime()); gc = new GregrorianCalendar(); */ gc.clear(); gc.setTime(new Date(0L)); th.check(gc.get(Calendar.YEAR),1970, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.JANUARY, "check month"); th.check(gc.get(Calendar.DATE),1, "check day"); gc.add(Calendar.YEAR, 1); th.check(gc.get(Calendar.YEAR),1971, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.JANUARY, "check month"); th.check(gc.get(Calendar.DATE),1, "check day"); gc.add(Calendar.MONTH, 13); th.check(gc.get(Calendar.YEAR),1972, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.FEBRUARY, "check month"); th.check(gc.get(Calendar.DATE),1, "check day"); gc.add(Calendar.DATE, 42); th.check(gc.get(Calendar.YEAR),1972, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.MARCH, "check month"); th.check(gc.get(Calendar.DATE),14, "check day"); gc.add(Calendar.DATE, 366 + 365 + 30 + 7); th.check(gc.get(Calendar.YEAR),1974, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.APRIL, "check month"); th.check(gc.get(Calendar.DATE),21, "check day"); gc.add(Calendar.DATE, -(366 + 365 + 30 + 7)); th.check(gc.get(Calendar.YEAR),1972, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.MARCH, "check month"); th.check(gc.get(Calendar.DATE),14, "check day"); gc.add(Calendar.DATE, -42); th.check(gc.get(Calendar.YEAR),1972, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.FEBRUARY, "check month"); th.check(gc.get(Calendar.DATE),1, "check day"); gc.add(Calendar.MONTH, -13); th.check(gc.get(Calendar.YEAR),1971, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.JANUARY, "check month"); th.check(gc.get(Calendar.DATE),1, "check day"); th.checkPoint("roll"); gc.roll(Calendar.MONTH, 13); //System.out.println("SMGregorianCalendarTest.test_behaviour()"+gc.getTime());; th.check(gc.get(Calendar.YEAR),1971, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.FEBRUARY, "check month"); th.check(gc.get(Calendar.DATE),1, "check day"); gc.roll(Calendar.DATE, 42); th.check(gc.get(Calendar.YEAR),1971, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.FEBRUARY, "check month"); th.check(gc.get(Calendar.DATE),15, "check day"); gc.roll(Calendar.YEAR, 21); th.check(gc.get(Calendar.YEAR),1992, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.FEBRUARY, "check month"); th.check(gc.get(Calendar.DATE),15, "check day"); gc.roll(Calendar.DATE, 14 - 10 * 29); th.check(gc.get(Calendar.YEAR),1992, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.FEBRUARY, "check month"); th.check(gc.get(Calendar.DATE),29, "check day"); //System.out.println("SMGregorianCalendarTest.test_behaviour()DEBUG "+gc.getTime()); gc.roll(Calendar.YEAR, 21); //System.out.println("SMGregorianCalendarTest.test_behaviour()DEBUG "+gc.getTime()); th.checkPoint("roll -- 2"); //System.out.println("SMGregorianCalendarTest.test_behaviour()"+gc.getTime());; th.check(gc.get(Calendar.YEAR),2013, "check year"); th.check(gc.get(Calendar.MONTH),Calendar.MARCH, "check month"); th.check(gc.get(Calendar.DATE),1, "check day"); gc.clear(); try { gc.set(Calendar.DAY_OF_YEAR , 35); //th.debug(gc.getTime().toString()); } catch (Exception e) { th.fail(e.toString()); e.printStackTrace(); } gc = new GregorianCalendar(1970,0,1,0,0); gc.clear(Calendar.MONTH); gc.set(Calendar.DAY_OF_YEAR , 35); gc.clear(Calendar.MONTH); th.check(gc.get(Calendar.MONTH) , 1 ,"update Month"); th.check(gc.get(Calendar.DAY_OF_YEAR) , 35 ,"update Month"); //th.debug(gc.getTime().toString()); //th.debug(gc.toString()); th.check(gc.get(Calendar.YEAR),1970, "check year"); th.check(gc.get(Calendar.SECOND),0, "check seconds"); gc.setTimeZone(TimeZone.getTimeZone("GMT")); //th.debug(gc.getTime().toString()); //th.debug(new Date(0L).toString()); TimeZone.setDefault(TimeZone.getTimeZone("GMT")); //th.debug(new Date(0L).toString()); //th.debug(gc.getTime().toString()+" "+gc.getTimeZone().toString()); gc = new GregorianCalendar(1970,0,1,0,0); gc.setLenient(true); gc.set(Calendar.MINUTE , 12345678); //th.debug(gc.getTime().toString()); gc.add(Calendar.MINUTE , 1200); //th.debug(gc.getTime().toString()); gc.add(Calendar.MONTH , 16); //th.debug(gc.getTime().toString()); gc = new GregorianCalendar(1970,0,1,0,0); //th.debug("G.C is lenient "+gc.isLenient()); //th.debug(gc.getTime().toString()); gc.setLenient(false); //th.debug("G.C is lenient "+gc.isLenient()); // gc.clear(Calendar.YEAR); gc.add(Calendar.YEAR , 12349); //th.debug(gc.getTime().toString()); // gc.clear(Calendar.MONTH); gc.setLenient(true); // gc.add(Calendar.WEEK_OF_YEAR , 12345); //th.debug(gc.toString()); gc = new GregorianCalendar(1970,0,1,0,0); //th.debug(gc.getTime().toString()); //th.debug(""+gc.getTime().getTime()); gc.set(Calendar.MONTH, 6); gc.setTime(new Date(Long.MAX_VALUE)); //th.debug(gc.getTime().toString()); gc.setTime(new Date(Long.MIN_VALUE)); //th.debug(gc.getTime().toString()); //th.debug(gc.toString()); //th.debug(TimeZone.getDefault().getDisplayName(true,1)); //th.debug(TimeZone.getTimeZone("PST").getDisplayName(true,1)); //th.debug(TimeZone.getTimeZone("PRT").getDisplayName(true,1)); //SimpleTimeZone stz = (SimpleTimeZone) TimeZone.getTimeZone("PST"); //stz.setEndRule(1 , 28 , 342113); SimpleTimeZone stz = new SimpleTimeZone(3600000*(-9) ,"MySTZ"); //th.debug ("my TimeZone uses DST --> "+stz.useDaylightTime()); stz.setEndRule(10 , 28 , 342113); //th.debug ("my TimeZone uses DST --> "+stz.useDaylightTime()); stz.setStartRule(1 , 28 , 342113); //th.debug ("my TimeZone uses DST --> "+stz.useDaylightTime()); //th.debug(stz.toString()); } public GregorianCalendar cloneGC(GregorianCalendar gc) { GregorianCalendar cp = new GregorianCalendar( gc.get(Calendar.YEAR), gc.get(Calendar.MONTH), gc.get(Calendar.DATE), gc.get(Calendar.HOUR_OF_DAY), gc.get(Calendar.MINUTE), gc.get(Calendar.SECOND)); cp.set(Calendar.MILLISECOND , gc.get(Calendar.MILLISECOND)); return cp; } } /* Locale loc = new Locale("acd","BEFG","adfg"); th.debug(loc.toString()); loc = new Locale("acd","BEFG","adfg"); th.debug(loc.toString()); loc = new Locale("aDd","BFG","adg"); th.debug(loc.toString()); loc = new Locale("be","BEF_G","a_f_g"); th.debug(loc.toString()); loc = new Locale("ac_d","BEFG","adfg"); th.debug(loc.toString()); loc = new Locale("","BEFG","adfg"); th.debug(loc.toString()); loc = new Locale("a","BEFG","adfg"); th.debug(loc.toString()); loc = new Locale("yi","BEFG","adfg"); th.debug(loc.toString()); loc = new Locale("id","BE_FG","ad_fg"); th.debug(loc.toString()); th.debug(loc.getDisplayCountry()); loc = new Locale("zh","tw","a_d_f_g"); th.debug(loc.toString()); // Locale.setDefault(loc); th.debug(Locale.getDefault().toString()); th.debug(loc.getISO3Language()); loc = new Locale("zoth","cn","a_d_f_g"); th.debug(loc.toString()); // th.debug(loc.getISO3Language()); th.debug(loc.getDisplayCountry()); th.debug(Locale.US.getDisplayCountry()); th.debug(Locale.US.getDisplayLanguage()); th.debug(Locale.getDefault().getDisplayName()); th.debug(Locale.US.getDisplayName()); */