public async Task TestSchedule() {
            var vm1 = new ConcreteViewModel();
            var vm2 = new ConcreteViewModel();
            var vm3 = new ConcreteViewModel();

            // Scheduler hat noch kein Aktuelles ViewModel
            Assert.IsNull(_scheduler.Aktuell);

            _scheduler.Start();

            // Scheduler hat immer noch kein Aktuelles ViewModel
            Assert.IsNull(_scheduler.Aktuell);
             
            _scheduler.Schedule(vm1);
            _scheduler.Schedule(vm2);
            
            // Scheduler hat Aktuell = vm1
            Assert.ReferenceEquals(_scheduler.Aktuell, vm1);
            await Task.Run(() => Thread.Sleep(1100));

            // Scheduler hat Aktuell = vm2
            Assert.ReferenceEquals(_scheduler.Aktuell, vm2);
            await Task.Run(() => Thread.Sleep(1000));

            // Scheduler hat Aktuell wieder vm2
            Assert.ReferenceEquals(_scheduler.Aktuell, vm1);

            _scheduler.ScheduleInstant(vm3);

            // Scheduler hat jetzt vm3 und behält es
            Assert.ReferenceEquals(_scheduler.Aktuell, vm3);
            await Task.Run(() => Thread.Sleep(1500));
            Assert.ReferenceEquals(_scheduler.Aktuell, vm3);
        }
Beispiel #2
0
        public void PropertyChangedCanBeRaisedForAllPropertiesAtOnce()
        {
            ConcreteViewModel target = new ConcreteViewModel();

            target.RaisePropertyChangedForAllProperties();

            // If we made it this far, then an exception was not thrown during the
            // property name verification process, so the test succeeded.
        }
        public void PropertyChangedCanBeRaisedForAllPropertiesAtOnce()
        {
            ConcreteViewModel target = new ConcreteViewModel();

            target.RaisePropertyChangedForAllProperties();

            // If we made it this far, then an exception was not thrown during the 
            // property name verification process, so the test succeeded.
        }
        public void PropertyChangedIsRaised()
        {
            ConcreteViewModel target = new ConcreteViewModel();

            bool wasRaisedCorrectly = false;
            target.PropertyChanged += (sender, e) => wasRaisedCorrectly = e.PropertyName == "PropertyThatWorksCorrectly";
            target.PropertyThatWorksCorrectly = "whatever";

            Assert.IsTrue(wasRaisedCorrectly);
        }
Beispiel #5
0
        public void PropertyChangedIsRaised()
        {
            ConcreteViewModel target = new ConcreteViewModel();

            bool wasRaisedCorrectly = false;

            target.PropertyChanged           += (sender, e) => wasRaisedCorrectly = e.PropertyName == "PropertyThatWorksCorrectly";
            target.PropertyThatWorksCorrectly = "whatever";

            Assert.IsTrue(wasRaisedCorrectly);
        }
Beispiel #6
0
 public MainWindow()
 {
     Current = new ConcreteViewModel {
         Products =
         {
             new Product(),
             new Product()
         }
     };
     InitializeComponent();
 }
Beispiel #7
0
        public async Task TestSchedule()
        {
            var vm1 = new ConcreteViewModel();
            var vm2 = new ConcreteViewModel();
            var vm3 = new ConcreteViewModel();

            // Scheduler hat noch kein Aktuelles ViewModel
            Assert.IsNull(_scheduler.Aktuell);

            _scheduler.Start();

            // Scheduler hat immer noch kein Aktuelles ViewModel
            Assert.IsNull(_scheduler.Aktuell);

            _scheduler.Schedule(vm1);
            _scheduler.Schedule(vm2);

            // Scheduler hat Aktuell = vm1
            Assert.ReferenceEquals(_scheduler.Aktuell, vm1);
            await Task.Run(() => Thread.Sleep(1100));

            // Scheduler hat Aktuell = vm2
            Assert.ReferenceEquals(_scheduler.Aktuell, vm2);
            await Task.Run(() => Thread.Sleep(1000));

            // Scheduler hat Aktuell wieder vm2
            Assert.ReferenceEquals(_scheduler.Aktuell, vm1);

            _scheduler.ScheduleInstant(vm3);

            // Scheduler hat jetzt vm3 und behält es
            Assert.ReferenceEquals(_scheduler.Aktuell, vm3);
            await Task.Run(() => Thread.Sleep(1500));

            Assert.ReferenceEquals(_scheduler.Aktuell, vm3);
        }
Beispiel #8
0
        public void InvalidPropertyNameIsNotReportedInReleaseMode()
        {
            ConcreteViewModel target = new ConcreteViewModel();

            target.PropertyThatThrows = "whatever";
        }
 public void InvalidPropertyNameIsNotReportedInReleaseMode()
 {
     ConcreteViewModel target = new ConcreteViewModel();
     target.PropertyThatThrows = "whatever";
 }