public void TestAtPropertyChangedOnTabelModelEventHandlerRejserPropertyChangedOnKontogruppeModelUpdate(string propertyNameToRaise, string expectPropertyName)
        {
            var fixture = new Fixture();

            fixture.Customize <IKontogruppeModelBase>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontogruppeModelBase>()));
            fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>()));

            var kontogruppeModelMock         = fixture.Create <IKontogruppeModelBase>();
            var exceptionHandleViewModelMock = fixture.Create <IExceptionHandlerViewModel>();

            var kontogruppeViewModel = new MyKontogruppeViewModel(kontogruppeModelMock, exceptionHandleViewModelMock);

            Assert.That(kontogruppeViewModel, Is.Not.Null);

            var eventCalled = false;

            kontogruppeViewModel.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);
            kontogruppeModelMock.Raise(m => m.PropertyChanged += null, kontogruppeModelMock, new PropertyChangedEventArgs(propertyNameToRaise));
            Assert.That(eventCalled, Is.True);

            exceptionHandleViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }
        public void TestAtConstructorInitiererKontogruppeViewModelBase()
        {
            var fixture = new Fixture();

            var kontogruppeModelMock = MockRepository.GenerateMock <IKontogruppeModelBase>();

            kontogruppeModelMock.Expect(m => m.Id)
            .Return(fixture.Create <string>())
            .Repeat.Any();
            kontogruppeModelMock.Expect(m => m.Nummer)
            .Return(fixture.Create <int>())
            .Repeat.Any();
            kontogruppeModelMock.Expect(m => m.Tekst)
            .Return(fixture.Create <string>())
            .Repeat.Any();

            var exceptionHandleViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>();

            var kontogruppeViewModel = new MyKontogruppeViewModel(kontogruppeModelMock, exceptionHandleViewModelMock);

            Assert.That(kontogruppeViewModel, Is.Not.Null);
            Assert.That(kontogruppeViewModel.Id, Is.Not.Null);
            Assert.That(kontogruppeViewModel.Id, Is.Not.Empty);
            Assert.That(kontogruppeViewModel.Id, Is.EqualTo(kontogruppeModelMock.Id));
            Assert.That(kontogruppeViewModel.Nummer, Is.EqualTo(kontogruppeModelMock.Nummer));
            Assert.That(kontogruppeViewModel.Tekst, Is.Not.Null);
            Assert.That(kontogruppeViewModel.Tekst, Is.Not.Empty);
            Assert.That(kontogruppeViewModel.Tekst, Is.EqualTo(kontogruppeModelMock.Tekst));
            Assert.That(kontogruppeViewModel.DisplayName, Is.Not.Null);
            Assert.That(kontogruppeViewModel.DisplayName, Is.Not.Empty);
            Assert.That(kontogruppeViewModel.DisplayName, Is.EqualTo(kontogruppeModelMock.Tekst));

            kontogruppeModelMock.AssertWasCalled(m => m.Id);
            kontogruppeModelMock.AssertWasCalled(m => m.Nummer);
            kontogruppeModelMock.AssertWasCalled(m => m.Tekst);
            exceptionHandleViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }