42 * and/or other materials provided with the distribution.
43 *
44 * * Neither the name of JSR-310 nor the names of its contributors
45 * may be used to endorse or promote products derived from this software
46 * without specific prior written permission.
47 *
48 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
49 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
50 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
51 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
52 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
53 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
54 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
55 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
56 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
57 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
58 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
59 */
60 package tck.java.time.zone;
61
62 import java.time.ZoneId;
63
64 import static org.testng.Assert.assertEquals;
65 import static org.testng.Assert.assertNotNull;
66 import static org.testng.Assert.assertTrue;
67
68 import java.util.Collections;
69 import java.util.HashSet;
70 import java.util.NavigableMap;
71 import java.util.Set;
72 import java.util.TreeMap;
73
74 import java.time.ZoneOffset;
75 import java.time.zone.ZoneRules;
76 import java.time.zone.ZoneRulesException;
77 import java.time.zone.ZoneRulesProvider;
78
79 import org.testng.annotations.Test;
80
81 /**
82 * Test ZoneRulesProvider.
83 */
84 @Test
85 public class TCKZoneRulesProvider {
86
87 private static String TZDB_VERSION = "2012i";
88
89 //-----------------------------------------------------------------------
90 // getAvailableZoneIds()
91 //-----------------------------------------------------------------------
92 @Test
93 public void test_getAvailableGroupIds() {
94 Set<String> zoneIds = ZoneRulesProvider.getAvailableZoneIds();
95 assertEquals(zoneIds.contains("Europe/London"), true);
96 zoneIds.clear();
97 assertEquals(zoneIds.size(), 0);
98 Set<String> zoneIds2 = ZoneRulesProvider.getAvailableZoneIds();
155 public void test_getVersions_String_unknownId() {
156 ZoneRulesProvider.getVersions("Europe/Lon");
157 }
158
159 @Test(expectedExceptions=NullPointerException.class)
160 public void test_getVersions_String_null() {
161 ZoneRulesProvider.getVersions(null);
162 }
163
164 //-----------------------------------------------------------------------
165 // refresh()
166 //-----------------------------------------------------------------------
167 @Test
168 public void test_refresh() {
169 assertEquals(ZoneRulesProvider.refresh(), false);
170 }
171
172 //-----------------------------------------------------------------------
173 // registerProvider()
174 //-----------------------------------------------------------------------
175 @Test(groups={"tck"})
176 public void test_registerProvider() {
177 Set<String> pre = ZoneRulesProvider.getAvailableZoneIds();
178 assertEquals(pre.contains("FooLocation"), false);
179 ZoneRulesProvider.registerProvider(new MockTempProvider());
180 assertEquals(pre.contains("FooLocation"), false);
181 Set<String> post = ZoneRulesProvider.getAvailableZoneIds();
182 assertEquals(post.contains("FooLocation"), true);
183 assertEquals(ZoneRulesProvider.getRules("FooLocation", false), ZoneOffset.of("+01:45").getRules());
184 }
185
186 static class MockTempProvider extends ZoneRulesProvider {
187 final ZoneRules rules = ZoneOffset.of("+01:45").getRules();
188 @Override
189 public Set<String> provideZoneIds() {
190 return new HashSet<String>(Collections.singleton("FooLocation"));
191 }
192 @Override
193 protected NavigableMap<String, ZoneRules> provideVersions(String zoneId) {
194 NavigableMap<String, ZoneRules> result = new TreeMap<>();
195 result.put("BarVersion", rules);
|
42 * and/or other materials provided with the distribution.
43 *
44 * * Neither the name of JSR-310 nor the names of its contributors
45 * may be used to endorse or promote products derived from this software
46 * without specific prior written permission.
47 *
48 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
49 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
50 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
51 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
52 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
53 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
54 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
55 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
56 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
57 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
58 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
59 */
60 package tck.java.time.zone;
61
62 import static org.testng.Assert.assertEquals;
63 import static org.testng.Assert.assertNotNull;
64 import static org.testng.Assert.assertTrue;
65
66 import java.time.ZoneId;
67 import java.time.ZoneOffset;
68 import java.time.zone.ZoneRules;
69 import java.time.zone.ZoneRulesException;
70 import java.time.zone.ZoneRulesProvider;
71 import java.util.Collections;
72 import java.util.HashSet;
73 import java.util.NavigableMap;
74 import java.util.Set;
75 import java.util.TreeMap;
76
77 import org.testng.annotations.Test;
78
79 /**
80 * Test ZoneRulesProvider.
81 */
82 @Test
83 public class TCKZoneRulesProvider {
84
85 private static String TZDB_VERSION = "2012i";
86
87 //-----------------------------------------------------------------------
88 // getAvailableZoneIds()
89 //-----------------------------------------------------------------------
90 @Test
91 public void test_getAvailableGroupIds() {
92 Set<String> zoneIds = ZoneRulesProvider.getAvailableZoneIds();
93 assertEquals(zoneIds.contains("Europe/London"), true);
94 zoneIds.clear();
95 assertEquals(zoneIds.size(), 0);
96 Set<String> zoneIds2 = ZoneRulesProvider.getAvailableZoneIds();
153 public void test_getVersions_String_unknownId() {
154 ZoneRulesProvider.getVersions("Europe/Lon");
155 }
156
157 @Test(expectedExceptions=NullPointerException.class)
158 public void test_getVersions_String_null() {
159 ZoneRulesProvider.getVersions(null);
160 }
161
162 //-----------------------------------------------------------------------
163 // refresh()
164 //-----------------------------------------------------------------------
165 @Test
166 public void test_refresh() {
167 assertEquals(ZoneRulesProvider.refresh(), false);
168 }
169
170 //-----------------------------------------------------------------------
171 // registerProvider()
172 //-----------------------------------------------------------------------
173 @Test
174 public void test_registerProvider() {
175 Set<String> pre = ZoneRulesProvider.getAvailableZoneIds();
176 assertEquals(pre.contains("FooLocation"), false);
177 ZoneRulesProvider.registerProvider(new MockTempProvider());
178 assertEquals(pre.contains("FooLocation"), false);
179 Set<String> post = ZoneRulesProvider.getAvailableZoneIds();
180 assertEquals(post.contains("FooLocation"), true);
181 assertEquals(ZoneRulesProvider.getRules("FooLocation", false), ZoneOffset.of("+01:45").getRules());
182 }
183
184 static class MockTempProvider extends ZoneRulesProvider {
185 final ZoneRules rules = ZoneOffset.of("+01:45").getRules();
186 @Override
187 public Set<String> provideZoneIds() {
188 return new HashSet<String>(Collections.singleton("FooLocation"));
189 }
190 @Override
191 protected NavigableMap<String, ZoneRules> provideVersions(String zoneId) {
192 NavigableMap<String, ZoneRules> result = new TreeMap<>();
193 result.put("BarVersion", rules);
|