Пример #1
0
        public void Can_Get_Names_For_PG_English()
        {
            var zones = TimeZoneNames.GetTimeZonesForCountry("PG", "en-US");

            foreach (var zone in zones)
            {
                var tz    = zone.Key;
                var names = zone.Value;

                Debug.WriteLine(tz);
                Debug.WriteLine("Generic  = " + names.Generic);
                Debug.WriteLine("Standard = " + names.Standard);
                Debug.WriteLine("Daylight = " + names.Daylight);
                Debug.WriteLine("");
            }

            Assert.Equal(2, zones.Count);

            var expectedValues = new Dictionary <string, string[]>
            {
                { "Pacific/Port_Moresby", new[] { "Papua New Guinea Time", "Papua New Guinea Time", null } },
                { "Pacific/Bougainville", new[] { "Papua New Guinea Time", "Papua New Guinea Time", null } }
            };

            foreach (var expected in expectedValues)
            {
                var tz = expected.Key;
                Assert.True(zones.ContainsKey(tz), tz);
                Assert.Equal(expected.Value[0], zones[tz].Generic);
                Assert.Equal(expected.Value[1], zones[tz].Standard);
                Assert.Equal(expected.Value[2], zones[tz].Daylight);
            }
        }
Пример #2
0
        public void Can_Get_Names_For_BR_Portuguese()
        {
            var zones = TimeZoneNames.GetTimeZonesForCountry("BR", "pt-BR");

            foreach (var zone in zones)
            {
                var tz    = zone.Key;
                var names = zone.Value;

                Debug.WriteLine(tz);
                Debug.WriteLine("Generic  = " + names.Generic);
                Debug.WriteLine("Standard = " + names.Standard);
                Debug.WriteLine("Daylight = " + names.Daylight);
                Debug.WriteLine("");
            }

            Assert.Equal(16, zones.Count);

            var expectedValues = new Dictionary <string, string[]>
            {
                { "America/Sao_Paulo", new[] { "Horário de Brasília", "Horário Padrão de Brasília", "Horário de Verão de Brasília" } },
                { "America/Manaus", new[] { "Horário do Amazonas", "Horário Padrão do Amazonas", "Horário de Verão do Amazonas" } },
                { "America/Rio_Branco", new[] { "Horário do Acre", "Horário Padrão do Acre", "Horário de Verão do Acre" } },
                { "America/Noronha", new[] { "Horário de Fernando de Noronha", "Horário Padrão de Fernando de Noronha", "Horário de Verão de Fernando de Noronha" } }
            };

            foreach (var expected in expectedValues)
            {
                var tz = expected.Key;
                Assert.True(zones.ContainsKey(tz), tz);
                Assert.Equal(expected.Value[0], zones[tz].Generic);
                Assert.Equal(expected.Value[1], zones[tz].Standard);
                Assert.Equal(expected.Value[2], zones[tz].Daylight);
            }
        }
Пример #3
0
        public void Can_Get_Names_For_BR_English()
        {
            var zones = TimeZoneNames.GetTimeZonesForCountry("BR", "en-US");

            foreach (var zone in zones)
            {
                var tz    = zone.Key;
                var names = zone.Value;

                Debug.WriteLine(tz);
                Debug.WriteLine("Generic  = " + names.Generic);
                Debug.WriteLine("Standard = " + names.Standard);
                Debug.WriteLine("Daylight = " + names.Daylight);
                Debug.WriteLine("");
            }

            Assert.Equal(16, zones.Count);

            var expectedValues = new Dictionary <string, string[]>
            {
                { "America/Sao_Paulo", new[] { "Brasilia Time", "Brasilia Standard Time", "Brasilia Summer Time" } },
                { "America/Manaus", new[] { "Amazon Time", "Amazon Standard Time", "Amazon Summer Time" } },
                { "America/Rio_Branco", new[] { "Acre Time", "Acre Standard Time", "Acre Summer Time" } },
                { "America/Noronha", new[] { "Fernando de Noronha Time", "Fernando de Noronha Standard Time", "Fernando de Noronha Summer Time" } }
            };

            foreach (var expected in expectedValues)
            {
                var tz = expected.Key;
                Assert.True(zones.ContainsKey(tz), tz);
                Assert.Equal(expected.Value[0], zones[tz].Generic);
                Assert.Equal(expected.Value[1], zones[tz].Standard);
                Assert.Equal(expected.Value[2], zones[tz].Daylight);
            }
        }
Пример #4
0
        public void Can_Get_Abbreviations_For_US_Pacific()
        {
            var abbreviations = TimeZoneNames.GetAbbreviationsForTimeZone("America/Los_Angeles", "en-US");

            Assert.Equal("PT", abbreviations.Generic);
            Assert.Equal("PST", abbreviations.Standard);
            Assert.Equal("PDT", abbreviations.Daylight);
        }
Пример #5
0
        public void Can_Get_Abbreviations_For_IN1()
        {
            var abbreviations = TimeZoneNames.GetAbbreviationsForTimeZone("Asia/Calcutta", "en-US");

            Assert.Equal("IST", abbreviations.Generic);
            Assert.Equal("IST", abbreviations.Standard);
            Assert.Equal(null, abbreviations.Daylight);
        }
Пример #6
0
        public void Can_Get_Abbreviations_For_IE()
        {
            var abbreviations = TimeZoneNames.GetAbbreviationsForTimeZone("Europe/Dublin", "en-US");

            Assert.Null(abbreviations.Generic);
            Assert.Equal("GMT", abbreviations.Standard);
            Assert.Equal("IST", abbreviations.Daylight);
        }
Пример #7
0
        public void Can_Get_Names_For_IN1()
        {
            var names = TimeZoneNames.GetNamesForTimeZone("Asia/Calcutta", "en-US");

            Assert.Equal("India Standard Time", names.Generic);
            Assert.Equal("India Standard Time", names.Standard);
            Assert.Equal(null, names.Daylight);
        }
Пример #8
0
        public void Can_Get_Names_For_IE()
        {
            var names = TimeZoneNames.GetNamesForTimeZone("Europe/Dublin", "en-US");

            Assert.Equal("Ireland Time", names.Generic);
            Assert.Equal("Greenwich Mean Time", names.Standard);
            Assert.Equal("Irish Standard Time", names.Daylight);
        }
Пример #9
0
        public void Can_Get_Names_For_US_Pacific()
        {
            var names = TimeZoneNames.GetNamesForTimeZone("America/Los_Angeles", "en-US");

            Assert.Equal("Pacific Time", names.Generic);
            Assert.Equal("Pacific Standard Time", names.Standard);
            Assert.Equal("Pacific Daylight Time", names.Daylight);
        }
Пример #10
0
        public void Can_Get_French_Abbreviations_For_US_Pacific()
        {
            var abbreviations = TimeZoneNames.GetAbbreviationsForTimeZone("America/Los_Angeles", "fr-CA");

            Assert.Equal("HP", abbreviations.Generic);
            Assert.Equal("HNP", abbreviations.Standard);
            Assert.Equal("HAP", abbreviations.Daylight);
        }
Пример #11
0
        public void Can_Get_Names_For_UK()
        {
            var names = TimeZoneNames.GetNamesForTimeZone("Europe/London", "en-US");

            Assert.Equal("U.K. Time", names.Generic);
            Assert.Equal("Greenwich Mean Time", names.Standard);
            Assert.Equal("British Summer Time", names.Daylight);
        }
Пример #12
0
        public void Can_Get_French_Names_For_US_Pacific()
        {
            var names = TimeZoneNames.GetNamesForTimeZone("America/Los_Angeles", "fr-CA");

            Assert.Equal("heure du Pacifique", names.Generic);
            Assert.Equal("heure normale du Pacifique", names.Standard);
            Assert.Equal("heure avancée du Pacifique", names.Daylight);
        }
Пример #13
0
        public void Can_Get_Names_For_Windows_Timezone()
        {
            var names = TimeZoneNames.GetNamesForTimeZone("Eastern Standard Time", "en-US");

            Assert.Equal("Eastern Time", names.Generic);
            Assert.Equal("Eastern Standard Time", names.Standard);
            Assert.Equal("Eastern Daylight Time", names.Daylight);
        }
Пример #14
0
        public void Can_Get_Zones_For_GB()
        {
            var zones = TimeZoneNames.GetTimeZoneIdsForCountry("GB");

            foreach (var zone in zones)
            {
                Debug.WriteLine(zone);
            }

            Assert.Equal(1, zones.Length);

            Assert.Equal("Europe/London", zones[0]);
        }
Пример #15
0
        public TimeZoneInfo GetTimeZone(string tzid)
        {
            var          windowsName = TimeZoneNames.GetOrDefault(tzid);
            TimeZoneInfo tz;

            if (windowsName == null)
            {
                tz = TimeZoneInfo.Local;
            }
            else
            {
                tz = TimeZoneInfo.FindSystemTimeZoneById(windowsName);
            }

            return(tz);
        }
Пример #16
0
        public void Can_Get_Zones_For_RU()
        {
            var zones = TimeZoneNames.GetTimeZoneIdsForCountry("RU");

            foreach (var zone in zones)
            {
                Debug.WriteLine(zone);
            }

            Assert.Equal(21, zones.Length);

            Assert.True(zones.Contains("Europe/Moscow"));
            Assert.True(zones.Contains("Europe/Kaliningrad"));
            Assert.True(zones.Contains("Asia/Vladivostok"));
            Assert.True(zones.Contains("Asia/Kamchatka"));

            Assert.True(!zones.Contains("Europe/London"));
        }
Пример #17
0
        public void Can_Get_Zones_For_US()
        {
            var zones = TimeZoneNames.GetTimeZoneIdsForCountry("US");

            foreach (var zone in zones)
            {
                Debug.WriteLine(zone);
            }

            Assert.Equal(29, zones.Length);

            Assert.True(zones.Contains("America/New_York"));
            Assert.True(zones.Contains("America/Chicago"));
            Assert.True(zones.Contains("America/Denver"));
            Assert.True(zones.Contains("America/Los_Angeles"));
            Assert.True(zones.Contains("America/Phoenix"));
            Assert.True(zones.Contains("Pacific/Honolulu"));

            Assert.True(!zones.Contains("Europe/London"));
        }