public void RefreshCausesReplace()
        {
            // Arrange
            var sourceCache = new SourceCache <Item, Guid>(item => item.Id);

            var item1 = new Item("Old Name");

            sourceCache.AddOrUpdate(item1);

            var collection = new TestBindingList <Item>();

            var sourceCacheResults = sourceCache.Connect().AutoRefresh(item => item.Name).Bind(collection).AsAggregator();

            var collectionResults = collection.ToObservableChangeSet().AsAggregator();

            item1.Name = "New Name";

            // Source cache received add and refresh
            sourceCacheResults.Messages.Count.Should().Be(2);
            sourceCacheResults.Messages.First().Adds.Should().Be(1);
            sourceCacheResults.Messages.Last().Refreshes.Should().Be(1);

            // List receives add and replace instead of refresh
            collectionResults.Messages.Count.Should().Be(2);
            collectionResults.Messages.First().Adds.Should().Be(1);
            collectionResults.Messages.First().Refreshes.Should().Be(0);
            collectionResults.Messages.Last().Replaced.Should().Be(1);
            collectionResults.Messages.Last().Refreshes.Should().Be(0);

            sourceCache.Dispose();
            sourceCacheResults.Dispose();
            collectionResults.Dispose();
        }
    public void SerializeItemCollection()
    {
        var input = new TestBindingList();

        serializer.Save(Call, input);
        TestBindingList output = serializer.Load <TestBindingList>(Call);

        //Assert.AreEqual(output.uintTest, input.uintTest);
    }
示例#3
0
        public void ViewModel_DoAddNew_WithBindingListModel()
        {
            var viewModel = new TestViewModel <TestBindingList>();

            viewModel.Model = TestBindingList.NewEditableList();
            // List should be empty
            Assert.IsTrue(viewModel.Model.Count() == 0);
            viewModel.AddNew(this, new ExecuteEventArgs());
            Assert.IsTrue(viewModel.Model.Count() == 1);
            viewModel.AddNew(this, new ExecuteEventArgs());
            Assert.IsTrue(viewModel.Model.Count() == 2);
        }
示例#4
0
 public BindingListToChangeSetFixture()
 {
     _collection = new TestBindingList <int>();
     _results    = _collection.ToObservableChangeSet().AsAggregator();
 }