public void TestAtSaldoSetterKalderHandleExceptionOnExceptionHandlerViewModelVedExceptions() { var fixture = new Fixture(); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IKontogruppeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontogruppeViewModel>())); fixture.Customize <IFinansstyringRepository>(e => e.FromFactory(() => MockRepository.GenerateMock <IFinansstyringRepository>())); fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>())); var exception = fixture.Create <Exception>(); var kontoModelMock = MockRepository.GenerateMock <IKontoModel>(); kontoModelMock.Expect(m => m.Saldo = Arg <decimal> .Is.GreaterThan(0M)) .Throw(exception) .Repeat.Any(); var exceptionHandlerViewModelMock = fixture.Create <IExceptionHandlerViewModel>(); var kontoViewModel = new KontoViewModel(fixture.Create <IRegnskabViewModel>(), kontoModelMock, fixture.Create <IKontogruppeViewModel>(), fixture.Create <IFinansstyringRepository>(), exceptionHandlerViewModelMock); Assert.That(kontoViewModel, Is.Not.Null); var newValue = fixture.Create <decimal>(); kontoViewModel.Saldo = newValue; kontoModelMock.AssertWasCalled(m => m.Saldo = Arg <decimal> .Is.Equal(newValue)); exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <Exception> .Is.Equal(exception))); }
public void TestAtPropertyChangedOnKontoModelEventHandlerRejserPropertyChangedOnKontoModelUpdate(string propertyNameToRaise, string expectPropertyName) { var fixture = new Fixture(); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IKontoModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontoModel>())); fixture.Customize <IKontogruppeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontogruppeViewModel>())); fixture.Customize <IFinansstyringRepository>(e => e.FromFactory(() => MockRepository.GenerateMock <IFinansstyringRepository>())); fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>())); var kontoModelMock = fixture.Create <IKontoModel>(); var exceptionHandlerViewModelMock = fixture.Create <IExceptionHandlerViewModel>(); var kontoViewModel = new KontoViewModel(fixture.Create <IRegnskabViewModel>(), kontoModelMock, fixture.Create <IKontogruppeViewModel>(), fixture.Create <IFinansstyringRepository>(), exceptionHandlerViewModelMock); Assert.That(kontoViewModel, Is.Not.Null); var eventCalled = false; kontoViewModel.PropertyChanged += (s, e) => { Assert.That(s, Is.Not.Null); Assert.That(e, Is.Not.Null); Assert.That(e.PropertyName, Is.Not.Null); Assert.That(e.PropertyName, Is.Not.Empty); if (string.Compare(e.PropertyName, expectPropertyName, StringComparison.Ordinal) == 0) { eventCalled = true; } }; Assert.That(eventCalled, Is.False); kontoModelMock.Raise(m => m.PropertyChanged += null, kontoModelMock, new PropertyChangedEventArgs(propertyNameToRaise)); Assert.That(eventCalled, Is.True); exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything)); }
public void TestAtSaldoSetterOpdatererSaldoOnKontoModel() { var fixture = new Fixture(); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IKontoModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontoModel>())); fixture.Customize <IKontogruppeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontogruppeViewModel>())); fixture.Customize <IFinansstyringRepository>(e => e.FromFactory(() => MockRepository.GenerateMock <IFinansstyringRepository>())); fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>())); var kontoModelMock = fixture.Create <IKontoModel>(); var exceptionHandlerViewModelMock = fixture.Create <IExceptionHandlerViewModel>(); var kontoViewModel = new KontoViewModel(fixture.Create <IRegnskabViewModel>(), kontoModelMock, fixture.Create <IKontogruppeViewModel>(), fixture.Create <IFinansstyringRepository>(), exceptionHandlerViewModelMock); Assert.That(kontoViewModel, Is.Not.Null); var newValue = fixture.Create <decimal>(); kontoViewModel.Saldo = newValue; kontoModelMock.AssertWasCalled(m => m.Saldo = Arg <decimal> .Is.Equal(newValue)); exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything)); }
public void TestAtConstructorInitiererKontoViewModel() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IKontogruppeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontogruppeViewModel>())); fixture.Customize <IFinansstyringRepository>(e => e.FromFactory(() => MockRepository.GenerateMock <IFinansstyringRepository>())); fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>())); var regnskabViewModelMock = fixture.Create <IRegnskabViewModel>(); var kontoModelMock = MockRepository.GenerateMock <IKontoModel>(); kontoModelMock.Expect(m => m.Kontonummer) .Return(fixture.Create <string>()) .Repeat.Any(); kontoModelMock.Expect(m => m.Kontonavn) .Return(fixture.Create <string>()) .Repeat.Any(); kontoModelMock.Expect(m => m.Beskrivelse) .Return(fixture.Create <string>()) .Repeat.Any(); kontoModelMock.Expect(m => m.Notat) .Return(fixture.Create <string>()) .Repeat.Any(); kontoModelMock.Expect(m => m.StatusDato) .Return(fixture.Create <DateTime>()) .Repeat.Any(); kontoModelMock.Expect(m => m.Kredit) .Return(fixture.Create <decimal>()) .Repeat.Any(); kontoModelMock.Expect(m => m.Saldo) .Return(fixture.Create <decimal>()) .Repeat.Any(); kontoModelMock.Expect(m => m.Disponibel) .Return(fixture.Create <decimal>()) .Repeat.Any(); var kontogruppeViewModelMock = fixture.Create <IKontogruppeViewModel>(); var kontoViewModel = new KontoViewModel(regnskabViewModelMock, kontoModelMock, kontogruppeViewModelMock, fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>()); Assert.That(kontoViewModel, Is.Not.Null); Assert.That(kontoViewModel.Regnskab, Is.Not.Null); Assert.That(kontoViewModel.Regnskab, Is.EqualTo(regnskabViewModelMock)); Assert.That(kontoViewModel.Kontonummer, Is.Not.Null); Assert.That(kontoViewModel.Kontonummer, Is.Not.Empty); Assert.That(kontoViewModel.Kontonummer, Is.EqualTo(kontoModelMock.Kontonummer)); Assert.That(kontoViewModel.Kontonavn, Is.Not.Null); Assert.That(kontoViewModel.Kontonavn, Is.Not.Empty); Assert.That(kontoViewModel.Kontonavn, Is.EqualTo(kontoModelMock.Kontonavn)); Assert.That(kontoViewModel.Beskrivelse, Is.Not.Null); Assert.That(kontoViewModel.Beskrivelse, Is.Not.Empty); Assert.That(kontoViewModel.Beskrivelse, Is.EqualTo(kontoModelMock.Beskrivelse)); Assert.That(kontoViewModel.Notat, Is.Not.Null); Assert.That(kontoViewModel.Notat, Is.Not.Empty); Assert.That(kontoViewModel.Notat, Is.EqualTo(kontoModelMock.Notat)); Assert.That(kontoViewModel.Kontogruppe, Is.Not.Null); Assert.That(kontoViewModel.Kontogruppe, Is.EqualTo(kontogruppeViewModelMock)); Assert.That(kontoViewModel.StatusDato, Is.EqualTo(kontoModelMock.StatusDato)); Assert.That(kontoViewModel.Kredit, Is.EqualTo(kontoModelMock.Kredit)); Assert.That(kontoViewModel.KreditAsText, Is.Not.Null); Assert.That(kontoViewModel.KreditAsText, Is.Not.Empty); Assert.That(kontoViewModel.KreditAsText, Is.EqualTo(kontoModelMock.Kredit.ToString("C"))); Assert.That(kontoViewModel.KreditLabel, Is.Not.Null); Assert.That(kontoViewModel.KreditLabel, Is.Not.Empty); Assert.That(kontoViewModel.KreditLabel, Is.EqualTo(Resource.GetText(Text.Credit))); Assert.That(kontoViewModel.Saldo, Is.EqualTo(kontoModelMock.Saldo)); Assert.That(kontoViewModel.SaldoAsText, Is.Not.Null); Assert.That(kontoViewModel.SaldoAsText, Is.Not.Empty); Assert.That(kontoViewModel.SaldoAsText, Is.EqualTo(kontoModelMock.Saldo.ToString("C"))); Assert.That(kontoViewModel.SaldoLabel, Is.Not.Null); Assert.That(kontoViewModel.SaldoLabel, Is.Not.Empty); Assert.That(kontoViewModel.SaldoLabel, Is.EqualTo(Resource.GetText(Text.Balance))); Assert.That(kontoViewModel.Disponibel, Is.EqualTo(kontoModelMock.Disponibel)); Assert.That(kontoViewModel.DisponibelAsText, Is.Not.Null); Assert.That(kontoViewModel.DisponibelAsText, Is.Not.Empty); Assert.That(kontoViewModel.DisponibelAsText, Is.EqualTo(kontoModelMock.Disponibel.ToString("C"))); Assert.That(kontoViewModel.DisponibelLabel, Is.Not.Null); Assert.That(kontoViewModel.DisponibelLabel, Is.Not.Empty); Assert.That(kontoViewModel.DisponibelLabel, Is.EqualTo(Resource.GetText(Text.Available))); Assert.That(kontoViewModel.Kontoværdi, Is.EqualTo(kontoModelMock.Disponibel)); Assert.That(kontoViewModel.DisplayName, Is.Not.Null); Assert.That(kontoViewModel.DisplayName, Is.Not.Empty); Assert.That(kontoViewModel.DisplayName, Is.EqualTo(Resource.GetText(Text.Account))); Assert.That(kontoViewModel.Image, Is.Not.Null); Assert.That(kontoViewModel.Image, Is.Not.Empty); Assert.That(kontoViewModel.Image, Is.EqualTo(Resource.GetEmbeddedResource("Images.Konto.png"))); Assert.That(kontoViewModel.ErRegistreret, Is.False); Assert.That(kontoViewModel.RefreshCommand, Is.Not.Null); Assert.That(kontoViewModel.RefreshCommand, Is.TypeOf <KontoGetCommand>()); kontoModelMock.AssertWasNotCalled(m => m.Regnskabsnummer); kontoModelMock.AssertWasCalled(m => m.Kontonummer); kontoModelMock.AssertWasCalled(m => m.Kontonavn); kontoModelMock.AssertWasCalled(m => m.Beskrivelse); kontoModelMock.AssertWasCalled(m => m.Notat); kontoModelMock.AssertWasNotCalled(m => m.Kontogruppe); kontoModelMock.AssertWasCalled(m => m.StatusDato); kontoModelMock.AssertWasCalled(m => m.Kredit); kontoModelMock.AssertWasCalled(m => m.Saldo); kontoModelMock.AssertWasCalled(m => m.Disponibel); }