コード例 #1
0
        public void ReleaseViewModel_ShouldCallReleaseViewModel(
            [Frozen] Mock <IViewModelFactory> viewModelFactory,
            CreateCommandsAndOvvmViewModelFactory sut,
            IViewModel expected)
        {
            //arrange

            //act
            sut.ReleaseViewModel(expected);

            //assert
            viewModelFactory.Verify(v => v.ReleaseViewModel(expected));
        }
コード例 #2
0
        public void ResolveViewModel_ShouldReturnCorrectValue(
            [Frozen] Mock <IViewModelFactory> viewModelFactory,
            CreateCommandsAndOvvmViewModelFactory sut,
            object request,
            IViewModel expected)
        {
            //arrange
            viewModelFactory.Setup(v => v.ResolveViewModel(request)).Returns(expected);

            //act
            var actual = sut.ResolveViewModel(request);

            //assert
            actual.Should().Be(expected);
        }
コード例 #3
0
        public void ResolveViewModel_WhenCalled2Times_ShouldBeFasterTheSecondTime(
            [Frozen] Mock <IViewModelFactory> viewModelFactory,
            CreateCommandsAndOvvmViewModelFactory sut,
            object request,
            Mock <ViewModelWithCommands> expected)
        {
            //arrange
            viewModelFactory.Setup(v => v.ResolveViewModel(request)).Returns(expected.Object);

            //act
            var firstCallTime  = PerformanceTime.Measure(() => sut.ResolveViewModel(request)).DebugWriteline("First call : {0}");
            var secondCallTime = PerformanceTime.Measure(() => sut.ResolveViewModel(request)).DebugWriteline("Second call : {0}");

            //assert
            secondCallTime.Should().BeLessThan(firstCallTime);
        }
コード例 #4
0
        public void ResolveViewModel_WhenViewModelHasChild_ShouldCallAllChildPropertyGetters(
            [Frozen] Mock <IViewModelFactory> viewModelFactory,
            CreateCommandsAndOvvmViewModelFactory sut,
            object request,
            Mock <ViewModelWithCommands> expected)
        {
            //arrange
            viewModelFactory.Setup(v => v.ResolveViewModel(request)).Returns(expected.Object);

            //act
            sut.ResolveViewModel(request);

            //assert
            expected.VerifyGet(e => e.ObservableViewModel1, Times.Once());
            expected.VerifyGet(e => e.ObservableViewModel2, Times.Once());
        }
コード例 #5
0
        public void ResolveViewModel_WhenViewModelHasCommands_ShouldCallAllPropertyGetters(
            [Frozen] Mock <IViewModelFactory> viewModelFactory,
            CreateCommandsAndOvvmViewModelFactory sut,
            object request,
            Mock <ViewModelWithCommands> viewModel,
            Mock <ViewModelWithCommands2> childViewModel)
        {
            //arrange
            viewModelFactory.Setup(v => v.ResolveViewModel(request)).Returns(viewModel.Object);
            viewModel.Setup(v => v.ChildViewModel).Returns(childViewModel.Object);

            //act
            sut.ResolveViewModel(request);

            //assert
            childViewModel.VerifyGet(e => e.Command1, Times.Once());
            childViewModel.VerifyGet(e => e.Command2, Times.Once());
        }