private void AddMockEventNotifiers()
 {
     //Sets up event testers
     ObvSortedList.PropertyChanged   += (sender, args) => AssertEvent.Call("PropertyChanged");
     ObvSortedList.CollectionChanged += (sender, args) => AssertEvent.Call("CollectionChanged");
     ObvSortedList.DictionaryChanged += (sender, args) => AssertEvent.Call("DictionaryChanged");
 }
        public void TestMethod_RemoveWithIndex()
        {
            var key1 = "a"; //0
            var key2 = "c"; //2
            var key3 = "b"; //1

            var value1 = Fixture.Create <string>();
            var value2 = Fixture.Create <string>();
            var value3 = Fixture.Create <string>();

            ObvDictionary.Add(key1, value1);
            ObvDictionary.Add(key2, value2);
            ObvDictionary.Add(key3, value3);

            Log(ObvDictionary.SortedList.IndexOfKey(key1));
            Log(ObvDictionary.SortedList.IndexOfKey(key2));
            Log(ObvDictionary.SortedList.IndexOfKey(key3));


            ObvDictionary.CollectionChanged += (sender, args) => {
                Assert.That(args.OldItems[0], Is.EqualTo(value2));
                Assert.That(args.OldStartingIndex, Is.EqualTo(2));
                Assert.That(args.NewItems, Is.Null);
                Assert.That(args.NewStartingIndex, Is.EqualTo(-1));
                AssertEvent.Call("collection");
            };

            ObvDictionary.Remove(key2);

            MockEvent.Verify(m => m.Call("collection"), Times.Exactly(1));
        }
        public void TestMethod_ReplaceValue()
        {
            ObvDictionary.Add(DefaultKey, DefaultValue);

            ObvDictionary.DictionaryChanged += (sender, args) => {
                Assert.That(args.Action == NotifyDictionaryChangedAction.Replace);
                Assert.That(args.OldKeys[0], Is.EqualTo(DefaultKey));
                Assert.That(args.OldItems[0], Is.EqualTo(DefaultValue));
                Assert.That(args.NewKeys[0], Is.EqualTo(DefaultKey));
                Assert.That(args.NewItems[0], Is.EqualTo(UpdateValue));
                AssertEvent.Call("DictionaryChanged");
            };

            ObvDictionary[DefaultKey] = UpdateValue;

            MockEvent.Verify(m => m.Call("DictionaryChanged"), Times.Exactly(1));
        }
Example #4
0
        public void TestMethod_SetConstructorAndAdd()
        {
            ListAdapter = new ObservableListAdapterConcrete(TestBaseList);

            TestBaseList.PropertyChanged   += (sender, args) => AssertEvent.Call("PropertyChanged");
            TestBaseList.CollectionChanged += (sender, args) => AssertEvent.Call("CollectionChanged");

            TestBaseList.Add(Item1);
            TestBaseList.Add(Item2);
            TestBaseList.Add(Item3);

            Assert.That(ListAdapter.Count, Is.EqualTo(3));
            Assert.That(Item1, Is.EqualTo(ListAdapter.First().BaseString));
            Assert.That(Item2, Is.EqualTo(ListAdapter[1].BaseString));
            Assert.That(Item3, Is.EqualTo(ListAdapter[2].BaseString));
            Assert.That(Item1 + ListAdapter.First().AddedString, Is.EqualTo(ListAdapter.First().StringView));

            MockEvent.Verify(m => m.Call("PropertyChanged"), Times.Exactly(6));
            MockEvent.Verify(m => m.Call("CollectionChanged"), Times.Exactly(3));
        }