public void TestAtPropertyChangedOnBogføringsadvarselModelEventHandlerRejserPropertyChangedOnBogføringsadvarselModelUpdate(string propertyNameToRaise, string expectPropertyName) { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>())); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IBogføringsadvarselModel>())); var bogføringsadvarselModelMock = fixture.Create <IBogføringsadvarselModel>(); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(fixture.Create <IRegnskabViewModel>(), fixture.Create <IReadOnlyBogføringslinjeViewModel>(), bogføringsadvarselModelMock, fixture.Create <DateTime>()); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); var eventCalled = false; bogføringsadvarselViewModel.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); bogføringsadvarselModelMock.Raise(m => m.PropertyChanged += null, bogføringsadvarselModelMock, new PropertyChangedEventArgs(propertyNameToRaise)); Assert.That(eventCalled, Is.True); }
public void TestAtRemoveCommandGetterReturnererCommand() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>())); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IBogføringsadvarselModel>())); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(fixture.Create <IRegnskabViewModel>(), fixture.Create <IReadOnlyBogføringslinjeViewModel>(), fixture.Create <IBogføringsadvarselModel>(), fixture.Create <DateTime>()); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); var removeCommand = bogføringsadvarselViewModel.RemoveCommand; Assert.That(removeCommand, Is.Not.Null); }
public void TestAtInformationGetterReturnererInformationHvorBeløbErNul() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => { var mock = MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>(); mock.Expect(m => m.Tekst) .Return(fixture.Create <string>()) .Repeat.Any(); mock.Expect(m => m.BogførtAsText) .Return(fixture.Create <string>()) .Repeat.Any(); return(mock); })); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => { var mock = MockRepository.GenerateMock <IBogføringsadvarselModel>(); mock.Expect(m => m.Kontonavn) .Return(fixture.Create <string>()) .Repeat.Any(); mock.Expect(m => m.Beløb) .Return(0M) .Repeat.Any(); return(mock); })); var bogføringslinjeViewModelMock = fixture.Create <IReadOnlyBogføringslinjeViewModel>(); var bogføringsadvarselModelMock = fixture.Create <IBogføringsadvarselModel>(); var tidspunkt = fixture.Create <DateTime>(); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(fixture.Create <IRegnskabViewModel>(), bogføringslinjeViewModelMock, bogføringsadvarselModelMock, tidspunkt); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Tidspunkt, Is.EqualTo(tidspunkt)); Assert.That(bogføringsadvarselViewModel.Beløb, Is.EqualTo(0M)); Assert.That(bogføringsadvarselViewModel.Information, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Information, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.Information, Is.EqualTo(string.Format("{0} {1} {2}\r\n\r\n{3}: {4} {5}", tidspunkt.ToShortDateString(), tidspunkt.ToShortTimeString(), Resource.GetText(Text.AccountOverdrawnedWithoutValue, bogføringsadvarselModelMock.Kontonavn), Resource.GetText(Text.Cause), bogføringslinjeViewModelMock.Tekst, bogføringslinjeViewModelMock.BogførtAsText))); bogføringsadvarselModelMock.AssertWasCalled(m => m.Kontonavn); bogføringsadvarselModelMock.AssertWasCalled(m => m.Beløb); bogføringslinjeViewModelMock.AssertWasCalled(m => m.Tekst); bogføringslinjeViewModelMock.AssertWasCalled(m => m.BogførtAsText); }
public void TestAtExecuteOnRemoveCommandExecutes(object parameter) { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>())); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IBogføringsadvarselModel>())); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(MockRepository.GenerateMock <IRegnskabViewModel>(), fixture.Create <IReadOnlyBogføringslinjeViewModel>(), fixture.Create <IBogføringsadvarselModel>(), fixture.Create <DateTime>()); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); var removeCommand = bogføringsadvarselViewModel.RemoveCommand; Assert.That(removeCommand, Is.Not.Null); removeCommand.Execute(parameter); }
public void TestAtCanExecuteOnRemoveCommandReturnererValue(object parameter, bool expectedResult) { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>())); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IBogføringsadvarselModel>())); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(fixture.Create <IRegnskabViewModel>(), fixture.Create <IReadOnlyBogføringslinjeViewModel>(), fixture.Create <IBogføringsadvarselModel>(), fixture.Create <DateTime>()); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); var removeCommand = bogføringsadvarselViewModel.RemoveCommand; Assert.That(removeCommand, Is.Not.Null); var result = removeCommand.CanExecute(parameter); Assert.That(result, Is.EqualTo(expectedResult)); }
public void TestAtPropertyChangedOnBogføringsadvarselModelEventHandlerKasterArgumentNullExceptionHvisEventArgsErNull() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>())); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IBogføringsadvarselModel>())); var bogføringsadvarselModelMock = fixture.Create <IBogføringsadvarselModel>(); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(fixture.Create <IRegnskabViewModel>(), fixture.Create <IReadOnlyBogføringslinjeViewModel>(), bogføringsadvarselModelMock, fixture.Create <DateTime>()); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); var exception = Assert.Throws <ArgumentNullException>(() => bogføringsadvarselModelMock.Raise(m => m.PropertyChanged += null, bogføringsadvarselModelMock, null)); Assert.That(exception, Is.Not.Null); Assert.That(exception.ParamName, Is.Not.Null); Assert.That(exception.ParamName, Is.Not.Empty); Assert.That(exception.ParamName, Is.EqualTo("eventArgs")); Assert.That(exception.InnerException, Is.Null); }
public void TestAtExecuteOnRemoveCommandFjernerBogføringsadvarselViewModelFraRegnskab() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>())); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IBogføringsadvarselModel>())); var regnskabViewModelMock = fixture.Create <IRegnskabViewModel>(); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(regnskabViewModelMock, fixture.Create <IReadOnlyBogføringslinjeViewModel>(), fixture.Create <IBogføringsadvarselModel>(), fixture.Create <DateTime>()); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); var removeCommand = bogføringsadvarselViewModel.RemoveCommand; Assert.That(removeCommand, Is.Not.Null); removeCommand.Execute(null); regnskabViewModelMock.AssertWasCalled(m => m.BogføringsadvarselRemove(Arg <IBogføringsadvarselViewModel> .Is.Equal(bogføringsadvarselViewModel))); }
public void TestAtConstructorInitiererBogføringsadvarselViewModel() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>())); fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>())); fixture.Customize <IBogføringsadvarselModel>(e => e.FromFactory(() => { var mock = MockRepository.GenerateMock <IBogføringsadvarselModel>(); mock.Expect(m => m.Advarsel) .Return(fixture.Create <string>()) .Repeat.Any(); mock.Expect(m => m.Kontonummer) .Return(fixture.Create <string>()) .Repeat.Any(); mock.Expect(m => m.Kontonavn) .Return(fixture.Create <string>()) .Repeat.Any(); mock.Expect(m => m.Beløb) .Return(fixture.Create <decimal>() * -1) .Repeat.Any(); return(mock); })); var regnskabViewModelMock = fixture.Create <IRegnskabViewModel>(); var bogføringslinjeViewModelMock = fixture.Create <IReadOnlyBogføringslinjeViewModel>(); var bogføringsadvarselModelMock = fixture.Create <IBogføringsadvarselModel>(); var tidspunkt = fixture.Create <DateTime>(); var bogføringsadvarselViewModel = new BogføringsadvarselViewModel(regnskabViewModelMock, bogføringslinjeViewModelMock, bogføringsadvarselModelMock, tidspunkt); Assert.That(bogføringsadvarselViewModel, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Regnskab, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Regnskab, Is.EqualTo(regnskabViewModelMock)); Assert.That(bogføringsadvarselViewModel.Bogføringslinje, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Bogføringslinje, Is.EqualTo(bogføringslinjeViewModelMock)); Assert.That(bogføringsadvarselViewModel.Tidspunkt, Is.EqualTo(tidspunkt)); Assert.That(bogføringsadvarselViewModel.TidspunktAsText, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.TidspunktAsText, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.TidspunktAsText, Is.EqualTo(string.Format("{0} {1}", tidspunkt.ToShortDateString(), tidspunkt.ToShortTimeString()))); Assert.That(bogføringsadvarselViewModel.Advarsel, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Advarsel, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.Advarsel, Is.EqualTo(bogføringsadvarselModelMock.Advarsel)); Assert.That(bogføringsadvarselViewModel.Kontonummer, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Kontonummer, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.Kontonummer, Is.EqualTo(bogføringsadvarselModelMock.Kontonummer)); Assert.That(bogføringsadvarselViewModel.Kontonavn, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Kontonavn, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.Kontonavn, Is.EqualTo(bogføringsadvarselModelMock.Kontonavn)); Assert.That(bogføringsadvarselViewModel.Beløb, Is.GreaterThan(0M)); Assert.That(bogføringsadvarselViewModel.Beløb, Is.EqualTo(Math.Abs(bogføringsadvarselModelMock.Beløb))); Assert.That(bogføringsadvarselViewModel.BeløbAsText, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.BeløbAsText, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.BeløbAsText, Is.EqualTo(Math.Abs(bogføringsadvarselModelMock.Beløb).ToString("C"))); Assert.That(bogføringsadvarselViewModel.Information, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Information, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.RemoveCommand, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.RemoveCommand, Is.TypeOf <RelayCommand>()); Assert.That(bogføringsadvarselViewModel.RemoveCommandLabel, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.RemoveCommandLabel, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.RemoveCommandLabel, Is.EqualTo(Resource.GetText(Text.Ignore))); Assert.That(bogføringsadvarselViewModel.DisplayName, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.DisplayName, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.DisplayName, Is.EqualTo(Resource.GetText(Text.PostingWarning))); Assert.That(bogføringsadvarselViewModel.Image, Is.Not.Null); Assert.That(bogføringsadvarselViewModel.Image, Is.Not.Empty); Assert.That(bogføringsadvarselViewModel.Image, Is.EqualTo(Resource.GetEmbeddedResource("Images.Bogføringslinje.png"))); bogføringsadvarselModelMock.AssertWasCalled(m => m.Advarsel); bogføringsadvarselModelMock.AssertWasCalled(m => m.Kontonummer); bogføringsadvarselModelMock.AssertWasCalled(m => m.Kontonavn); bogføringsadvarselModelMock.AssertWasCalled(m => m.Beløb); }