public void ReleaseViewModel_ShouldCallReleaseViewModel( [Frozen] Mock <IViewModelFactory> viewModelFactory, CreateCommandsAndOvvmViewModelFactory sut, IViewModel expected) { //arrange //act sut.ReleaseViewModel(expected); //assert viewModelFactory.Verify(v => v.ReleaseViewModel(expected)); }
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); }
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); }
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()); }
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()); }