ICU-8968 Updated the tzdata to 2011n and fixed failing test cases.

X-SVN-Rev: 31020
diff --git a/src/com/ibm/icu/dev/test/serializable/SerializableTest.java b/src/com/ibm/icu/dev/test/serializable/SerializableTest.java
index de24d50..763648c 100644
--- a/src/com/ibm/icu/dev/test/serializable/SerializableTest.java
+++ b/src/com/ibm/icu/dev/test/serializable/SerializableTest.java
@@ -1,6 +1,6 @@
 /*
  *******************************************************************************
- * Copyright (C) 1996-2008, International Business Machines Corporation and    *
+ * Copyright (C) 1996-2011, International Business Machines Corporation and    *
  * others. All Rights Reserved.                                                *
  *******************************************************************************
  *
@@ -8,6 +8,7 @@
 
 package com.ibm.icu.dev.test.serializable;
 
+import java.util.Date;
 import java.util.Locale;
 import java.util.HashMap;
 
@@ -19,7 +20,9 @@
 import com.ibm.icu.impl.TimeZoneAdapter;
 import com.ibm.icu.math.BigDecimal;
 import com.ibm.icu.math.MathContext;
+import com.ibm.icu.util.Calendar;
 import com.ibm.icu.util.Currency;
+import com.ibm.icu.util.GregorianCalendar;
 import com.ibm.icu.util.SimpleTimeZone;
 import com.ibm.icu.util.TimeZone;
 import com.ibm.icu.util.ULocale;
@@ -300,7 +303,22 @@
             "Europe/Amsterdam", "Europe/Athens", "Europe/Berlin", "Europe/London", "Europe/Malta", "Europe/Moscow",
             "Europe/Paris", "Europe/Rome"
         };
-        
+
+        long sampleTimes[] = {
+            1136073600000L, // 20060101T000000Z
+            1138752000000L, // 20060201T000000Z
+            1141171200000L, // 20060301T000000Z
+            1143849600000L, // 20060401T000000Z
+            1146441600000L, // 20060501T000000Z
+            1149120000000L, // 20060601T000000Z
+            1151712000000L, // 20060701T000000Z
+            1154390400000L, // 20060801T000000Z
+            1157068800000L, // 20060901T000000Z
+            1159660800000L, // 20061001T000000Z
+            1162339200000L, // 20061101T000000Z
+            1164931200000L, // 20061201T000000Z
+        };
+
         public Object[] getTestObjects()
         {
             TimeZoneAdapter timeZones[] = new TimeZoneAdapter[zoneIDs.length];
@@ -315,14 +333,32 @@
         
         public boolean hasSameBehavior(Object a, Object b)
         {
+            GregorianCalendar cal = new GregorianCalendar();
             TimeZoneAdapter tza_a = (TimeZoneAdapter) a;
             TimeZoneAdapter tza_b = (TimeZoneAdapter) b;
-
-            if (!tza_a.getID().equals(tza_b.getID())
-                || tza_a.getRawOffset() != tza_b.getRawOffset()) {
-                return false;
+            
+            int a_offset, b_offset;
+            boolean a_dst, b_dst;
+            boolean bSame = true;
+            for (int i = 0; i < sampleTimes.length; i++) {
+                cal.setTimeInMillis(sampleTimes[i]);
+                int era = cal.get(Calendar.ERA);
+                int year = cal.get(Calendar.YEAR);
+                int month = cal.get(Calendar.MONTH);
+                int day = cal.get(Calendar.DAY_OF_MONTH);
+                int dow = cal.get(Calendar.DAY_OF_WEEK);
+                int mid = cal.get(Calendar.MILLISECONDS_IN_DAY);
+                a_offset = tza_a.getOffset(era, year, month, day, dow, mid);
+                b_offset = tza_b.getOffset(era, year, month, day, dow, mid);
+                Date d = new Date(sampleTimes[i]);
+                a_dst = tza_a.inDaylightTime(d);
+                b_dst = tza_b.inDaylightTime(d);
+                if (a_offset != b_offset || a_dst != b_dst) {
+                    bSame = false;
+                    break;
+                }
             }
-            return true;
+            return bSame;
         }
     }
     
diff --git a/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java b/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
index 21acffe..39f72bf 100755
--- a/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
+++ b/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
@@ -1,6 +1,6 @@
 /**
  *******************************************************************************
- * Copyright (C) 2000-2008, International Business Machines Corporation and    *
+ * Copyright (C) 2000-2011, International Business Machines Corporation and    *
  * others. All Rights Reserved.                                                *
  *******************************************************************************
  */
@@ -102,7 +102,7 @@
     public void TestShortZoneIDs() throws Exception {
 
         ZoneDescriptor[] JDK_116_REFERENCE_LIST = {
-            new ZoneDescriptor("MIT", -660, false),
+            new ZoneDescriptor("MIT", -660, true), // as of 2011n
             new ZoneDescriptor("HST", -600, false),
             new ZoneDescriptor("AST", -540, true),
             new ZoneDescriptor("PST", -480, true),
@@ -113,7 +113,7 @@
             new ZoneDescriptor("EST", -300, false),// updated Aug 2003 aliu
             new ZoneDescriptor("PRT", -240, false),
             new ZoneDescriptor("CNT", -210, true),
-            new ZoneDescriptor("AGT", -180, true), // updated by tzdata 2007k
+            new ZoneDescriptor("AGT", -180, false), // as of 2011n
             new ZoneDescriptor("BET", -180, true),
             // new ZoneDescriptor("CAT", -60, false), // Wrong:
             // As of bug 4130885, fix CAT (Central Africa)
@@ -121,7 +121,7 @@
             new ZoneDescriptor("GMT", 0, false),
             new ZoneDescriptor("UTC", 0, false),
             new ZoneDescriptor("ECT", 60, true),
-            new ZoneDescriptor("ART", 120, true),
+            new ZoneDescriptor("ART", 120, false), // as of 2011n
             new ZoneDescriptor("EET", 120, true),
             new ZoneDescriptor("EAT", 180, false),
             // new ZoneDescriptor("MET", 210, true),
diff --git a/src/com/ibm/icu/impl/data/icudata.jar b/src/com/ibm/icu/impl/data/icudata.jar
index 3683ea8..bb2774a 100644
--- a/src/com/ibm/icu/impl/data/icudata.jar
+++ b/src/com/ibm/icu/impl/data/icudata.jar
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:d7975fc0d1d21388ccf87efc5eb2979f65249e360a3876a22df77205060c8aa5
-size 2093385
+oid sha256:513c887c4cb2353823f4b3fc8f88b5c6af38f22dffd5e5d89a15855fd03d2580
+size 2097197