示例#1
0
        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)));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        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);
        }