public void ContainsTest1()
        {
            ICollection <KeyValuePair <string, string> > target = new ReadOnlyDictionary <string, string>(testDictionary);

            Assert.IsTrue(target.Contains(new KeyValuePair <string, string>("Item1", "Test1")));
            Assert.IsFalse(target.Contains(new KeyValuePair <string, string>("Test1", "Item1")));
        }
        public void ContainsTest()
        {
            IDictionary target = new ReadOnlyDictionary <string, string>(testDictionary);

            Assert.IsTrue(target.Contains("Item1"));
            Assert.IsFalse(target.Contains("Test1"));
        }
        public void TestDictionary()
        {
            // Default ctor.
            var data = Enumerable.Range(1, 5).ToDictionary(x => x, x => x.ToString());
            var dict = new ReadOnlyDictionary <int, string>(data);

            Assert.AreEqual(5, dict.Count);
            Assert.IsTrue(dict.IsReadOnly);
            CollectionAssert.AreEqual(data, dict);
            CollectionAssert.AreEqual(data.Keys, dict.Keys);
            CollectionAssert.AreEqual(data.Values, dict.Values);

            Assert.IsTrue(dict.GetEnumerator().MoveNext());
            Assert.IsTrue(((IEnumerable)dict).GetEnumerator().MoveNext());

            Assert.IsTrue(dict.ContainsKey(1));
            Assert.IsTrue(dict.Contains(new KeyValuePair <int, string>(4, "4")));
            Assert.AreEqual("3", dict[3]);

            string val;

            Assert.IsTrue(dict.TryGetValue(2, out val));
            Assert.AreEqual("2", val);

            var arr = new KeyValuePair <int, string> [5];

            dict.CopyTo(arr, 0);
            CollectionAssert.AreEqual(data, arr);

            Assert.Throws <NotSupportedException>(() => dict.Add(1, "2"));
            Assert.Throws <NotSupportedException>(() => dict.Add(new KeyValuePair <int, string>(1, "2")));
            Assert.Throws <NotSupportedException>(() => dict.Clear());
            Assert.Throws <NotSupportedException>(() => dict.Remove(1));
            Assert.Throws <NotSupportedException>(() => dict.Remove(new KeyValuePair <int, string>(1, "2")));
        }
Ejemplo n.º 4
0
        public void TestICollctionContainsReturnsTrueWhenAppropriate()
        {
            var dict = new Dictionary <int, string>()
            {
                { 1, "One" },
                { 2, "Two" },
                { 3, "Three" }
            };

            IDictionary <int, string> toTest = new ReadOnlyDictionary <int, string>(dict);

            Assert.IsTrue(toTest.IsReadOnly);
            Assert.IsTrue(toTest.Contains(new KeyValuePair <int, string>(1, "One")));
            Assert.IsTrue(toTest.Contains(new KeyValuePair <int, string>(2, "Two")));
            Assert.IsTrue(toTest.Contains(new KeyValuePair <int, string>(3, "Three")));

            Assert.IsFalse(toTest.Contains(new KeyValuePair <int, string>(1, "Two")));
            Assert.IsFalse(toTest.Contains(new KeyValuePair <int, string>(4, "Four")));
        }
        public void TestContains_PairMssing_ReturnsFalse()
        {
            ReadOnlyDictionary <int, int> dictionary = new ReadOnlyDictionary <int, int>(new Dictionary <int, int>()
            {
                { 1, 2 }
            });
            bool exists = dictionary.Contains(new KeyValuePair <int, int>(1, 3));

            Assert.IsFalse(exists, "The key/value pair should not have been found.");
        }
        public void SerializationTest()
        {
            BinaryFormatter serizalizer = new BinaryFormatter();
            MemoryStream    stream      = new MemoryStream();

            serizalizer.Serialize(stream, readOnlyDictionary);
            stream.Position = 0;
            ReadOnlyDictionary <int, string> deserialized = (ReadOnlyDictionary <int, string>)serizalizer.Deserialize(stream);

            Assert.AreEqual(deserialized.Count, readOnlyDictionary.Count);
            foreach (KeyValuePair <int, string> pair in readOnlyDictionary)
            {
                Assert.IsTrue(deserialized.Contains(pair));
            }
            foreach (KeyValuePair <int, string> pair in deserialized)
            {
                Assert.IsTrue(readOnlyDictionary.Contains(pair));
            }
        }
Ejemplo n.º 7
0
        public void TestReadOperations()
        {
            var dic = new ReadOnlyDictionary<string, string>(new Dictionary<string, string>() {
            {"key1", "val1"},
            {"key2", "val2"},
            {"key3", "val3"},
              });

              Assert.AreEqual(3, dic.Count);

              Assert.AreEqual("val1", dic["key1"]);
              Assert.IsTrue(dic.Contains(new KeyValuePair<string, string>("key2", "val2")));
              Assert.IsTrue(dic.ContainsKey("key3"));

              foreach (var pair in dic) {
              }

              foreach (var key in dic.Keys) {
              }

              foreach (var val in dic.Values) {
              }

              var pairs = new KeyValuePair<string, string>[3];

              dic.CopyTo(pairs, 0);

              string outval = null;

              Assert.IsTrue(dic.TryGetValue("key1", out outval));
              Assert.AreEqual(outval, "val1");
        }
Ejemplo n.º 8
0
 public void ContainsTest()
 {
     Assert.IsTrue(testObject.Contains(new KeyValuePair <string, int>("Key", 42)));
     Assert.IsFalse(testObject.Contains(new KeyValuePair <string, int>("Key", 43)));
     Assert.IsFalse(testObject.Contains(new KeyValuePair <string, int>("KeyX", 42)));
 }
Ejemplo n.º 9
0
        public void ReadOnlyDictionary_Unit_Contains_ValueDoesNotExist()
        {
            IDictionary<String, String> dictionary = new Dictionary<String, String>() {
                { "Key1", "Value1" },
                { "Key2", "Value2" },
                { "Key3", "Value3" }
            };
            ReadOnlyDictionary<String, String> target = new ReadOnlyDictionary<String, String>(dictionary);
            KeyValuePair<String, String> item = new KeyValuePair<String, String>(dictionary.Keys.First(), "MyValue");

            Boolean actual = target.Contains(item);
            Assert.AreEqual(false, actual);
        }