Esempio n. 1
0
        public void NonPassThroughMembers()
        {
            var original = new Dictionary <int, int> {
                { 10, 20 }
            };
            IDictionary <int, int> readOnly = new NodaReadOnlyDictionary <int, int>(original);

            Assert.IsTrue(readOnly.IsReadOnly);
        }
Esempio n. 2
0
 private WindowsZones(string version, string tzdbVersion, string windowsVersion, ReadOnlyCollection <MapZone> mapZones)
 {
     this.version        = version;
     this.tzdbVersion    = tzdbVersion;
     this.windowsVersion = windowsVersion;
     this.mapZones       = mapZones;
     this.primaryMapping = new NodaReadOnlyDictionary <string, string>(
         mapZones.Where(z => z.Territory == MapZone.PrimaryTerritory)
         .ToDictionary(z => z.WindowsId, z => z.TzdbIds.Single()));
 }
 public void MutatingMembers()
 {
     var original = new Dictionary<int, int>();
     IDictionary<int, int> readOnly = new NodaReadOnlyDictionary<int, int>(original);
     Assert.Throws<NotSupportedException>(() => readOnly.Add(10, 10));
     Assert.Throws<NotSupportedException>(() => readOnly.Add(new KeyValuePair<int, int>(10, 10)));
     Assert.Throws<NotSupportedException>(() => readOnly.Remove(10));
     Assert.Throws<NotSupportedException>(() => readOnly.Remove(new KeyValuePair<int, int>(10, 10)));
     Assert.Throws<NotSupportedException>(() => readOnly.Clear());
     Assert.Throws<NotSupportedException>(() => readOnly[15] = 20);
 }
Esempio n. 4
0
        public void MutatingMembers()
        {
            var original = new Dictionary <int, int>();
            IDictionary <int, int> readOnly = new NodaReadOnlyDictionary <int, int>(original);

            Assert.Throws <NotSupportedException>(() => readOnly.Add(10, 10));
            Assert.Throws <NotSupportedException>(() => readOnly.Add(new KeyValuePair <int, int>(10, 10)));
            Assert.Throws <NotSupportedException>(() => readOnly.Remove(10));
            Assert.Throws <NotSupportedException>(() => readOnly.Remove(new KeyValuePair <int, int>(10, 10)));
            Assert.Throws <NotSupportedException>(() => readOnly.Clear());
            Assert.Throws <NotSupportedException>(() => readOnly[15] = 20);
        }
 public void PassThroughMembers()
 {
     var original = new Dictionary<int, int> { { 10, 20 } };
     IDictionary<int, int> readOnly = new NodaReadOnlyDictionary<int, int>(original);
     Assert.AreEqual(20, readOnly[10]);
     int value;
     Assert.IsTrue(readOnly.TryGetValue(10, out value));
     Assert.AreEqual(20, value);
     Assert.AreEqual(1, readOnly.Count);
     CollectionAssert.AreEqual(original, readOnly);
     CollectionAssert.AreEqual(original.Keys, readOnly.Keys);
     CollectionAssert.AreEqual(original.Values, readOnly.Values);
 }
Esempio n. 6
0
        private WindowsZones(string version, NodaReadOnlyDictionary <string, string> primaryMapping)
        {
            this.Version        = version;
            this.WindowsVersion = "Unknown";
            this.TzdbVersion    = "Unknown";
            this.PrimaryMapping = primaryMapping;
            var mapZoneList = new List <MapZone>(primaryMapping.Count);

            foreach (var entry in primaryMapping)
            {
                mapZoneList.Add(new MapZone(entry.Key, MapZone.PrimaryTerritory, new[] { entry.Value }));
            }
            MapZones = new ReadOnlyCollection <MapZone>(mapZoneList);
        }
        private TzdbDateTimeZoneSource([NotNull] TzdbStreamData source)
        {
            Preconditions.CheckNotNull(source, nameof(source));
            this.source    = source;
            CanonicalIdMap = new NodaReadOnlyDictionary <string, string>(source.TzdbIdMap);
            Aliases        = CanonicalIdMap
                             .Where(pair => pair.Key != pair.Value)
                             .OrderBy(pair => pair.Key, StringComparer.Ordinal)
                             .ToLookup(pair => pair.Value, pair => pair.Key);
            version = source.TzdbVersion + " (mapping: " + source.WindowsMapping.Version + ")";
            var originalZoneLocations = source.ZoneLocations;

            ZoneLocations = originalZoneLocations == null ? null : new ReadOnlyCollection <TzdbZoneLocation>(originalZoneLocations);
            var originalZone1970Locations = source.Zone1970Locations;

            Zone1970Locations = originalZone1970Locations == null ? null : new ReadOnlyCollection <TzdbZone1970Location>(originalZone1970Locations);
        }
        public void PassThroughMembers()
        {
            var original = new Dictionary <int, int> {
                { 10, 20 }
            };
            IDictionary <int, int> readOnly = new NodaReadOnlyDictionary <int, int>(original);

            Assert.AreEqual(20, readOnly[10]);
            int value;

            Assert.IsTrue(readOnly.TryGetValue(10, out value));
            Assert.AreEqual(20, value);
            Assert.AreEqual(1, readOnly.Count);
            CollectionAssert.AreEqual(original, readOnly);
            CollectionAssert.AreEqual(original.Keys, readOnly.Keys);
            CollectionAssert.AreEqual(original.Values, readOnly.Values);
        }
Esempio n. 9
0
        public void PassThroughMembers()
        {
            var original = new Dictionary <int, int> {
                { 10, 20 }
            };
            IDictionary <int, int> readOnly = new NodaReadOnlyDictionary <int, int>(original);

            Assert.AreEqual(20, readOnly[10]);
            Assert.IsTrue(readOnly.TryGetValue(10, out int value));
            Assert.AreEqual(20, value);
            Assert.AreEqual(1, readOnly.Count);
            Assert.IsTrue(readOnly.Contains(new KeyValuePair <int, int>(10, 20)));
            CollectionAssert.AreEqual(original, readOnly);
            CollectionAssert.AreEqual(original.Keys, readOnly.Keys);
            CollectionAssert.AreEqual(original.Values, readOnly.Values);
            var array = new KeyValuePair <int, int> [1];

            readOnly.CopyTo(array, 0);
            Assert.AreEqual(new KeyValuePair <int, int>(10, 20), array[0]);
        }
 private TzdbDateTimeZoneSource([NotNull] TzdbStreamData source)
 {
     Preconditions.CheckNotNull(source, nameof(source));
     this.source = source;
     CanonicalIdMap = new NodaReadOnlyDictionary<string, string>(source.TzdbIdMap);
     Aliases = CanonicalIdMap
         .Where(pair => pair.Key != pair.Value)
         .OrderBy(pair => pair.Key, StringComparer.Ordinal)
         .ToLookup(pair => pair.Value, pair => pair.Key);
     version = source.TzdbVersion + " (mapping: " + source.WindowsMapping.Version + ")";
     var originalZoneLocations = source.ZoneLocations;
     ZoneLocations = originalZoneLocations == null ? null : new ReadOnlyCollection<TzdbZoneLocation>(originalZoneLocations);
     var originalZone1970Locations = source.Zone1970Locations;
     Zone1970Locations = originalZone1970Locations == null ? null : new ReadOnlyCollection<TzdbZone1970Location>(originalZone1970Locations);
 }
 public void NonPassThroughMembers()
 {
     var original = new Dictionary<int, int> { { 10, 20 } };
     IDictionary<int, int> readOnly = new NodaReadOnlyDictionary<int, int>(original);
     Assert.IsTrue(readOnly.IsReadOnly);
 }
Esempio n. 12
0
 private WindowsZones(string version, NodaReadOnlyDictionary<string, string> primaryMapping)
 {
     this.Version = version;
     this.WindowsVersion = "Unknown";
     this.TzdbVersion = "Unknown";
     this.PrimaryMapping = primaryMapping;
     var mapZoneList = new List<MapZone>(primaryMapping.Count);
     foreach (var entry in primaryMapping)
     {
         mapZoneList.Add(new MapZone(entry.Key, MapZone.PrimaryTerritory, new[] { entry.Value }));
     }
     MapZones = new ReadOnlyCollection<MapZone>(mapZoneList);
 }