Пример #1
0
        private static ICommandHandler CreateCommandHandlers()
        {
            Action <IEnumerable <FileCabinetRecord> > printer;

            printer = DefaultRecordPrint;
            var recordPrinter = new DefaultRecordPrinter();
            var createHandler = new CreateCommandHandler(Program.fileCabinetService);
            var editHandler   = new EditCommandHandler(Program.fileCabinetService);
            var exitHandler   = new ExitCommandHandler(stopProgram);
            var exportHandler = new ExportCommandHandler(Program.fileCabinetService);
            var findHandler   = new FindCommandHandler(
                Program.fileCabinetService, printer);
            var helpHandler   = new HelpCommandHandler();
            var importHandler = new ImportCommandHandler(Program.fileCabinetService);
            var listHandler   = new ListCommandHandler(
                Program.fileCabinetService, printer);
            var purgeHandler   = new PurgeCommandHandler(Program.fileCabinetService);
            var removeHandler  = new RemoveCommandHandler(Program.fileCabinetService);
            var statHandler    = new StatCommandHandler(Program.fileCabinetService);
            var defaultHandler = new DefaultHandler();

            createHandler.SetNext(editHandler);
            editHandler.SetNext(exitHandler);
            exitHandler.SetNext(exportHandler);
            exportHandler.SetNext(findHandler);
            findHandler.SetNext(helpHandler);
            helpHandler.SetNext(importHandler);
            importHandler.SetNext(listHandler);
            listHandler.SetNext(purgeHandler);
            purgeHandler.SetNext(removeHandler);
            removeHandler.SetNext(statHandler);
            statHandler.SetNext(defaultHandler);
            return(createHandler);
        }
Пример #2
0
        private static ICommandHandler CreateCommandHandlers()
        {
            var helpHandler   = new HelpCommandHandler();
            var createHandler = new CreateCommandHandler(fileCabinetService, isCustomValidationRules);
            var editHandler   = new EditCommandHandler(fileCabinetService, isCustomValidationRules);
            var exitHandler   = new ExitCommandHandler(setProgramStatus);
            var exporthandler = new ExportCommandHandler(fileCabinetService);
            var findHandler   = new FindCommandHandler(fileCabinetService, DefaultRecordPrint);
            var importHandler = new ImportCommandHandler(fileCabinetService);
            var listHandler   = new ListCommandHandler(fileCabinetService, DefaultRecordPrint);
            var purgeHandler  = new PurgeCommandHandler(fileCabinetService);
            var removeHandler = new RemoveCommandHandler(fileCabinetService);
            var statHandler   = new StatCommandHandler(fileCabinetService);

            helpHandler.SetNext(createHandler);
            createHandler.SetNext(editHandler);
            editHandler.SetNext(exitHandler);
            exitHandler.SetNext(exporthandler);
            exporthandler.SetNext(findHandler);
            findHandler.SetNext(importHandler);
            importHandler.SetNext(listHandler);
            listHandler.SetNext(purgeHandler);
            purgeHandler.SetNext(removeHandler);
            removeHandler.SetNext(statHandler);

            return(helpHandler);
        }
Пример #3
0
        private static ICommandHandler CreateCommandHandlers()
        {
            IRecordPrinter recordPrinter = new DefaultRecordPrinter();

            var create = new CreateCommandHandler(fileCabinetService);
            var exit   = new ExitCommandHandler(Exit);
            var stat   = new StatCommanHandler(fileCabinetService);
            var help   = new PrintHelpCommandHandler();
            var edit   = new EditCommandHandler(fileCabinetService);
            var find   = new FindCommandHandler(fileCabinetService, DefaultRecordPrint);
            var export = new ExportCommandHandler(fileCabinetService);
            var import = new ImportCommandHandler(fileCabinetService);
            var remove = new RemoveCommandHandler(fileCabinetService);
            var purge  = new PurgeCommandHandler(fileCabinetService);

            create.SetNext(exit).SetNext(stat).SetNext(edit).SetNext(find).SetNext(export).SetNext(import).SetNext(remove).SetNext(purge).SetNext(help);

            return(create);
        }
Пример #4
0
        public async Task Delete_Author_Should_Fail_For_Null_Author()
        {
            //Arrange
            var fixture              = new Fixture();
            var command              = fixture.Create <DeleteAuthorCommand>();
            var mockUnitOfWork       = new Mock <IUnitOfWork>();
            var mockAuthorRepository = new Mock <IAsyncRepository <Author> >();

            mockAuthorRepository.Setup(x => x.FindAsync(It.IsAny <long>())).ReturnsAsync(It.IsAny <Author>());
            mockUnitOfWork.Setup(x => x.AuthorRepository).Returns(mockAuthorRepository.Object);
            var removeAuthorHandler = new RemoveCommandHandler(mockUnitOfWork.Object);

            //Act
            var result = await removeAuthorHandler.Handle(command);

            //Assert
            result.IsFailure.Should().BeTrue();
            result.Error.Should().Be($"No Author found for Id {command.Id}.");
        }
Пример #5
0
        public async Task Delete_Author_Should_Call_Remove_Method_And_SaveChanges_Once()
        {
            //Arrange
            var fixture = new Fixture();
            var command = fixture.Create <DeleteAuthorCommand>();

            fixture.Customize(new AuthorCustomization());
            var author               = fixture.Create <Author>();
            var mockUnitOfWork       = new Mock <IUnitOfWork>();
            var mockAuthorRepository = new Mock <IAsyncRepository <Author> >();

            mockAuthorRepository.Setup(x => x.FindAsync(It.IsAny <long>())).ReturnsAsync(author);
            mockUnitOfWork.Setup(x => x.AuthorRepository).Returns(mockAuthorRepository.Object);
            var removeAuthorHandler = new RemoveCommandHandler(mockUnitOfWork.Object);

            //Act
            var result = await removeAuthorHandler.Handle(command);

            //Assert
            mockAuthorRepository.Verify(x => x.Remove(It.IsAny <Author>()), Times.Once);
            mockUnitOfWork.Verify(x => x.SaveChangesAsync(), Times.Once);
            result.IsSuccess.Should().BeTrue();
        }
Пример #6
0
 public RemoveCommand(IServiceProvider serviceProvider) : base("remove")
 {
     Description = "Deletes a to do item.";
     Handler     = RemoveCommandHandler.Create(serviceProvider);
 }