Beispiel #1
0
        public void IsBusyDoesntRaisePropertyChangeIfTheValueDoesntChange()
        {
            var vm = new ViewModelWithEvents();

            vm.MonitorEvents();
            vm.IsBusy = false;
            vm.ShouldNotRaisePropertyChangeFor(v => v.IsBusy);
        }
Beispiel #2
0
        public void FireEventFiresEventWithParameterisedArgsPassedByValue()
        {
            var vm = new ViewModelWithEvents();

            vm.MonitorEvents();
            vm.FireEventWithStringArgsPassingValue("HelloWorld");
            vm.ShouldRaise("EventWithStringArgs").WithArgs <EventArgs <string> >(a => a.Value == "HelloWorld");
        }
Beispiel #3
0
        public void FireEventFiresEventWithBasicArgs()
        {
            var vm = new ViewModelWithEvents();

            vm.MonitorEvents();
            vm.FireEventWithBasicArgs();
            vm.ShouldRaise("EventWithBasicArgs").WithArgs <MyEventArgs>(a => true);
        }
Beispiel #4
0
        public void FireEventFiresEventWithNoArgs()
        {
            var vm = new ViewModelWithEvents();

            vm.MonitorEvents();
            vm.FireEventWithNoArgs();
            vm.ShouldRaise("EventWithNoArgs").WithArgs <EventArgs>(a => a == EventArgs.Empty);
        }
Beispiel #5
0
        public void FireEventFiresEventWithParameterisedArgsPassedByValueAndReturnsArgs()
        {
            var vm = new ViewModelWithEvents();

            vm.EventWithStringArgs += (s, e) => e.Value = "FooBar";
            var args = vm.FireEventWithStringArgsPassingValue("HelloWorld");

            args.Should().Be("FooBar");
        }
Beispiel #6
0
        public void FireEventFiresEventWithBasicArgsAndReturnsArgs()
        {
            var vm = new ViewModelWithEvents();

            vm.EventWithBasicArgs += (s, e) => e.Passed = true;
            var retVal = vm.FireEventWithBasicArgs();

            retVal.Passed.Should().BeTrue();
        }
Beispiel #7
0
        public async Task BusyIndicatorRaisesPropertyChangeAfterRunAction()
        {
            var vm = new ViewModelWithEvents();

#pragma warning disable 1998
            await vm.RunWithBusyIndicatorAsync(async() => vm.MonitorEvents());

#pragma warning restore 1998
            vm.ShouldRaisePropertyChangeFor(v => v.IsBusy);
        }
Beispiel #8
0
        public async Task RunActionIsRunAndReturnsResult()
        {
            var vm = new ViewModelWithEvents();

#pragma warning disable 1998
            var isRun = await vm.RunWithBusyIndicatorAsync(async() => true);

#pragma warning restore 1998

            isRun.Should().BeTrue();
        }
Beispiel #9
0
        public async Task RunActionIsRun()
        {
            var isRun = false;

            var vm = new ViewModelWithEvents();

#pragma warning disable 1998
            await vm.RunWithBusyIndicatorAsync(async() =>
#pragma warning restore 1998
            {
                isRun = true;
            });

            isRun.Should().BeTrue();
        }
Beispiel #10
0
        public async Task BusyIndicatorIsToggledAroundRunAction()
        {
            var vm = new ViewModelWithEvents();

            var busyStates = new List <bool> {
                vm.IsBusy
            };

            await vm.RunWithBusyIndicatorAsync(async() =>
            {
                await Task.Delay(100);
                busyStates.Add(vm.IsBusy);
            });

            busyStates.Add(vm.IsBusy);

            busyStates.Should().HaveCount(3);
            busyStates.Should().ContainInOrder(new List <bool>
            {
                false,
                true,
                false
            });
        }