Exemple #1
0
        public void TestAtHandleResultFromTaskKalderHandleExceptionOnExceptionHandlerViewModelHvisOnHandleTaskResultKasterException()
        {
            var fixture = new Fixture();

            fixture.Customize <IModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IModel>()));
            fixture.Customize <IViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IViewModel>()));

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

            var actionCalled = false;
            var exception    = fixture.Create <IntranetGuiBusinessException>();
            Action <IViewModel, IModel, object> onHandleResult = (viewMode, model, argument) =>
            {
                actionCalled = true;
                throw exception;
            };

            var           modelMock   = fixture.Create <IModel>();
            Func <IModel> modelGetter = () => modelMock;

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

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

            Assert.That(actionCalled, Is.False);
            Task.Run(async() =>
            {
                var task = Task.Run(modelGetter);
                await task.ContinueWith(t => command.HandleResultFromTask(t, fixture.Create <IViewModel>(), null, onHandleResult));
            }).Wait(3000);
            Assert.That(actionCalled, Is.True);

            exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <IntranetGuiBusinessException> .Is.TypeOf));
        }
Exemple #2
0
        public void TestAtExecuteViderestillerViewModelTilOveride()
        {
            var fixture = new Fixture();

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

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

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

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

            var viewModelMock = fixture.Create <IViewModel>();
            var actionCalled  = false;

            command.OnExecute += vm =>
            {
                Assert.That(vm, Is.Not.Null);
                Assert.That(vm, Is.EqualTo(viewModelMock));
                actionCalled = true;
            };

            Assert.That(actionCalled, Is.False);
            command.Execute(viewModelMock);
            Assert.That(actionCalled, Is.True);

            exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }
Exemple #3
0
        public void TestAtHandleResultFromTaskIkkeKalderOnHandleTaskResultHvisResultErNull()
        {
            var fixture = new Fixture();

            fixture.Customize <IModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IModel>()));
            fixture.Customize <IViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IViewModel>()));

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

            var actionCalled = false;
            Action <IViewModel, IModel, object> onHandleResult = (viewMode, model, argument) => { actionCalled = true; };

            Func <IModel> modelGetter = () => null;

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

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

            Assert.That(actionCalled, Is.False);
            Task.Run(async() =>
            {
                var task = Task.Run(modelGetter);
                await task.ContinueWith(t => command.HandleResultFromTask(t, fixture.Create <IViewModel>(), null, onHandleResult));
            }).Wait(3000);
            Assert.That(actionCalled, Is.False);

            exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }
Exemple #4
0
        public void TestAtHandleResultFromTaskKasterArgumentNullExceptionHvisTaskErNull()
        {
            var fixture = new Fixture();

            fixture.Customize <IModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IModel>()));
            fixture.Customize <IViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IViewModel>()));

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

            Action <IViewModel, IModel, object> onHandleResult = (viewMode, model, argument) => { };

            onHandleResult.Invoke(fixture.Create <IViewModel>(), fixture.Create <IModel>(), null);

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

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

            var exception = Assert.Throws <ArgumentNullException>(() => command.HandleResultFromTask(null, fixture.Create <IViewModel>(), null, onHandleResult));

            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("task"));
            Assert.That(exception.InnerException, Is.Null);

            exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }
Exemple #5
0
        public void TestAtCanExecuteViderestillerViewModelTilOverride()
        {
            var fixture = new Fixture();

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

            var command = new MyViewModelCommand(fixture.Create <IExceptionHandlerViewModel>());

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

            var viewModelMock = fixture.Create <IViewModel>();
            var actionCalled  = false;

            command.OnCanExecute += vm =>
            {
                Assert.That(vm, Is.Not.Null);
                Assert.That(vm, Is.EqualTo(viewModelMock));
                actionCalled = true;
            };

            Assert.That(actionCalled, Is.False);
            var result = command.CanExecute(viewModelMock);

            Assert.That(result, Is.True);
            Assert.That(actionCalled, Is.True);
        }
Exemple #6
0
        public void TestAtExecuteKalderExceptionHandlerViewModelMedIntranetGuiSystemExceptionHvisParameterIkkeErAfTypenIViewModel()
        {
            var fixture = new Fixture();

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

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

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

            command.Execute(fixture.Create <object>());

            exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <IntranetGuiSystemException> .Is.TypeOf));
        }
Exemple #7
0
        public void TestAtCanExecuteReturnererFalseHvisParameterIkkeErAfTypenIViewModel()
        {
            var fixture = new Fixture();

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

            var command = new MyViewModelCommand(fixture.Create <IExceptionHandlerViewModel>());

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

            var result = command.CanExecute(fixture.Create <object>());

            Assert.That(result, Is.False);
        }
Exemple #8
0
        public void TestAtConstructorInitiererViewModelCommandBase()
        {
            var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>();

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

            Assert.That(command, Is.Not.Null);
            Assert.That(command.ExecuteTask, Is.Null);

            var exceptionHandler = command.GetExceptionHandler();

            Assert.That(exceptionHandler, Is.Not.Null);
            Assert.That(exceptionHandler, Is.EqualTo(exceptionHandlerViewModelMock));

            var synchronizationContext = command.GetSynchronizationContext();

            Assert.That(synchronizationContext, Is.Null);
        }
Exemple #9
0
        public void TestAtHandleResultFromTaskKasterArgumentNullExceptionHvisViewModelErNull()
        {
            var fixture = new Fixture();

            fixture.Customize <IModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IModel>()));
            fixture.Customize <IViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IViewModel>()));

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

            Action <IViewModel, IModel, object> onHandleResult = (viewMode, model, argument) => { };

            onHandleResult.Invoke(fixture.Create <IViewModel>(), fixture.Create <IModel>(), null);

            var           modelMock   = fixture.Create <IModel>();
            Func <IModel> modelGetter = () => modelMock;

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

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

            ArgumentNullException exception = null;
            var aggregateException          = Assert.Throws <AggregateException>(() =>
            {
                var task = Task.Run(modelGetter);
                task.ContinueWith(t => command.HandleResultFromTask(t, null, null, onHandleResult)).Wait();
            });

            aggregateException.Handle(e =>
            {
                exception = e as ArgumentNullException;
                return(true);
            });

            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("viewModel"));
            Assert.That(exception.InnerException, Is.Null);

            exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }
Exemple #10
0
        public void TestAtExecuteKalderExceptionHandlerViewModelMedIntranetGuiSystemExceptionVedException()
        {
            var fixture = new Fixture();

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

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

            var command = new MyViewModelCommand(exceptionHandlerViewModelMock);

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

            var executeException = fixture.Create <Exception>();

            command.OnExecute += vm =>
            {
                throw executeException;
            };

            command.Execute(fixture.Create <IViewModel>());

            exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <IntranetGuiSystemException> .Is.NotNull));
        }