Ejemplo n.º 1
0
        public void IsPaused()
        {
            var schedulerProvider = new TestSchedulerProvider();

            using (var testData = new DataProviderStub())
                using (var sut = new ViewModel(testData, schedulerProvider))
                {
                    sut.IsPaused = true;
                    schedulerProvider.TestScheduler.Start(); //push scheduler forward

                    //add data after pause has started
                    testData.Data.AddOrUpdate(Enumerable.Range(1, 10).Select(i => new Item(i)));
                    schedulerProvider.TestScheduler.AdvanceBy(1);

                    //check no data has been pipelined
                    sut.BindingData.Count.Should().Be(0);

                    //turn pause off and check the updates have been pushed through
                    sut.IsPaused = false;
                    schedulerProvider.TestScheduler.AdvanceBy(1);
                    sut.BindingData.Count.Should().Be(10);
                }
        }
Ejemplo n.º 2
0
        public void Binding()
        {
            var schedulerProvider = new TestSchedulerProvider();

            using (var testData = new DataProviderStub())
                using (var sut = new ViewModel(testData, schedulerProvider))
                {
                    //Act
                    var items = Enumerable.Range(1, 10).Select(i => new Item(i)).ToArray();
                    testData.Data.AddOrUpdate(items);
                    schedulerProvider.TestScheduler.Start(); //push scheduler forward

                    //1. Check count of data
                    sut.BindingData.Count.Should().Be(10);

                    //2. Check Transform and Sort
                    var expectedData = items
                                       .Select(i => new ItemViewModel(i))
                                       .OrderByDescending(vm => vm.Item.Id);

                    sut.BindingData.ShouldAllBeEquivalentTo(expectedData);
                }
        }