コード例 #1
0
 public void PassingEqualityComparers()
 {
     var eqComp = new CaseInsensitiveEqualityComparer();
     var d1 = new OrderedDictionary(eqComp);
     d1.Add("foo", "bar");
     Assert.Throws<ArgumentException>(() => d1.Add("FOO", "bar"));
 }
コード例 #2
0
        public void PassingEqualityComparers()
        {
            var eqComp = new CaseInsensitiveEqualityComparer();
            var d1     = new OrderedDictionary(eqComp);

            d1.Add("foo", "bar");
            Assert.Throws <ArgumentException>(() => d1.Add("FOO", "bar"));
        }
コード例 #3
0
        public void IListedKeysPropertyCanUseCustomEqualityComparer()
        {
            var eqComp            = new CaseInsensitiveEqualityComparer();
            var orderedDictionary = new OrderedDictionary(eqComp);

            orderedDictionary.Add("KeY", null);

            IList list = (IList)orderedDictionary.Keys;

            Assert.True(list.Contains("key"));
            Assert.Equal(0, list.IndexOf("key"));
        }
コード例 #4
0
 public void PassingCapacityAndIEqualityComparer()
 {
     var eqComp = new CaseInsensitiveEqualityComparer();
     var d1 = new OrderedDictionary(-1000, eqComp);
     var d2 = new OrderedDictionary(-1, eqComp);
     var d3 = new OrderedDictionary(0, eqComp);
     var d4 = new OrderedDictionary(1, eqComp);
     var d5 = new OrderedDictionary(1000, eqComp);
     Assert.Throws<ArgumentOutOfRangeException>(() => d1.Add("foo", "bar"));
     Assert.Throws<ArgumentOutOfRangeException>(() => d2.Add("foo", "bar"));
     d3.Add("foo", "bar");
     d4.Add("foo", "bar");
     d5.Add("foo", "bar");
 }
コード例 #5
0
        public void PassingCapacityAndIEqualityComparer()
        {
            var eqComp = new CaseInsensitiveEqualityComparer();
            var d1     = new OrderedDictionary(-1000, eqComp);
            var d2     = new OrderedDictionary(-1, eqComp);
            var d3     = new OrderedDictionary(0, eqComp);
            var d4     = new OrderedDictionary(1, eqComp);
            var d5     = new OrderedDictionary(1000, eqComp);

            Assert.Throws <ArgumentOutOfRangeException>(() => d1.Add("foo", "bar"));
            Assert.Throws <ArgumentOutOfRangeException>(() => d2.Add("foo", "bar"));
            d3.Add("foo", "bar");
            d4.Add("foo", "bar");
            d5.Add("foo", "bar");
        }
コード例 #6
0
        public void PassingEqualityComparers()
        {
            var eqComp = new CaseInsensitiveEqualityComparer();
            var d1 = new OrderedDictionary(eqComp);
            d1.Add("foo", "bar");
            Assert.Throws<ArgumentException>(() => d1.Add("FOO", "bar"));

            // The equality comparer should also test for a non-existent key 
            d1.Remove("foofoo");
            Assert.True(d1.Contains("foo"));

            // Make sure we can change an existent key that passes the equality comparer
            d1["FOO"] = "barbar";
            Assert.Equal("barbar", d1["foo"]);

            d1.Remove("FOO");
            Assert.False(d1.Contains("foo"));
        }
コード例 #7
0
        public void PassingEqualityComparers()
        {
            var eqComp = new CaseInsensitiveEqualityComparer();
            var d1     = new OrderedDictionary(eqComp);

            d1.Add("foo", "bar");
            AssertExtensions.Throws <ArgumentException>(null, () => d1.Add("FOO", "bar"));

            // The equality comparer should also test for a non-existent key
            d1.Remove("foofoo");
            Assert.True(d1.Contains("foo"));

            // Make sure we can change an existent key that passes the equality comparer
            d1["FOO"] = "barbar";
            Assert.Equal("barbar", d1["foo"]);

            d1.Remove("FOO");
            Assert.False(d1.Contains("foo"));
        }