Exemplo n.º 1
0
        public async Task AdditionService_Add_Should_Pass()
        {
            var historyServiceMock       = new Mock <IHistoryClient>();
            var calculatorRepositoryMock = new Mock <ICalculatorRepository>();
            var calculatorSetMock        = new Mock <DbSet <CalculatorRecord> >();
            var auditRepositoryMock      = new Mock <IAuditRepository <AdditionAuditRecord> >();
            var auditSetMock             = new Mock <DbSet <AdditionAuditRecord> >();

            calculatorRepositoryMock.Setup(c => c.Calculators).Returns(calculatorSetMock.Object);
            auditRepositoryMock.Setup(c => c.Audits).Returns(auditSetMock.Object);

            var value          = 5M;
            var operation      = Operations.Addition;
            var expectedResult = value;

            historyServiceMock
            .Setup(c => c.UpdateHistory(It.IsAny <Guid>(), operation, value, CancellationToken.None))
            .ReturnsAsync(new HistoryDto()
            {
                CalculatorId = Guid.NewGuid(), NewValue = expectedResult, OldValue = null, Operation = Operations.Addition
            });

            var service = new AdditionService(calculatorRepositoryMock.Object, auditRepositoryMock.Object, historyServiceMock.Object);
            var result  = await service.Add(null, value, CancellationToken.None);

            Assert.AreEqual(expectedResult, result.Result);
            Assert.AreNotEqual(result.GlobalId, default(Guid));

            calculatorRepositoryMock.Verify(r => r.Add(It.IsAny <CalculatorRecord>(), CancellationToken.None), Times.Once);
            auditRepositoryMock.Verify(r => r.AddAudit(It.IsAny <AdditionAuditRecord>(), CancellationToken.None), Times.Once);
            historyServiceMock.Verify(c => c.UpdateHistory(It.IsAny <Guid>(), operation, expectedResult, CancellationToken.None), Times.Once);
        }
Exemplo n.º 2
0
        public void it_adds(int a, int b, int c)
        {
            // Assemble
            var s = new AdditionService();

            // Act
            var result = s.Add(a, b);

            // Assert
            result.Should().Be(c);
        }
        public void CanAdd_TwoFloats_1_2()
        {
            // Arrange
            AdditionService subject  = new AdditionService();
            float           expected = 3f;

            // Act
            float actual = subject.Evaluate(1, 2);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void Can_Add_Two_Numbers_Test()
        {
            //given
            int num1 = 1, num2 = 4;
            var uowMock = new Mock <IUnitOfWork>();

            uowMock.Setup(u => u.CompanyRepository.GetAll()).Returns(It.IsAny <IQueryable <Company> >);
            IAdditionService service = new AdditionService(uowMock.Object);
            //when
            int value = service.Add(num1, num2);

            //then
            value.Should().Be(5);
        }
Exemplo n.º 5
0
        public async Task AdditionService_Add_Existing_Id_Should_Pass()
        {
            var historyServiceMock       = new Mock <IHistoryClient>();
            var calculatorRepositoryMock = new Mock <ICalculatorRepository>();
            var calculatorSetMock        = new Mock <DbSet <CalculatorRecord> >();
            var auditRepositoryMock      = new Mock <IAuditRepository <AdditionAuditRecord> >();
            var auditSetMock             = new Mock <DbSet <AdditionAuditRecord> >();

            var id             = Guid.NewGuid();
            var value          = 10M;
            var operand        = 5M;
            var operation      = Operations.Addition;
            var expectedOutput = value + operand;

            calculatorRepositoryMock.Setup(c => c.Calculators).Returns(calculatorSetMock.Object);
            auditRepositoryMock.Setup(c => c.Audits).Returns(auditSetMock.Object);
            calculatorRepositoryMock
            .Setup(c => c.Find(id, CancellationToken.None))
            .ReturnsAsync(new CalculatorRecord {
                Id = id, Value = value
            });
            historyServiceMock
            .Setup(c => c.UpdateHistory(id, operation, expectedOutput, CancellationToken.None))
            .ReturnsAsync(new HistoryDto()
            {
                CalculatorId = id, NewValue = expectedOutput, OldValue = value, Operation = Operations.Addition
            });

            var service = new AdditionService(calculatorRepositoryMock.Object, auditRepositoryMock.Object, historyServiceMock.Object);
            var result  = await service.Add(id, operand, CancellationToken.None);

            Assert.AreEqual(expectedOutput, result.Result);
            Assert.AreEqual(id, result.GlobalId);

            calculatorRepositoryMock.Verify(r => r.Update(It.IsAny <CalculatorRecord>(), CancellationToken.None), Times.Once);
            auditRepositoryMock.Verify(r => r.AddAudit(It.IsAny <AdditionAuditRecord>(), CancellationToken.None), Times.Once);
            historyServiceMock.Verify(c => c.UpdateHistory(id, operation, expectedOutput, CancellationToken.None), Times.Once);
        }
Exemplo n.º 6
0
        public void Add_ShouldReturnSum()
        {
            var sum = AdditionService.Add(2, 2);

            Assert.Equal(4, sum);
        }
Exemplo n.º 7
0
 public AdditionServiceTest()
 {
     _sut = new AdditionService();
 }
Exemplo n.º 8
0
 public HomeController()
 {
     _additionService = new AdditionService();
 }
Exemplo n.º 9
0
 public IndexModel(AdditionService @as)
 {
     _as = @as;
 }
Exemplo n.º 10
0
        static void Main(string[] args)
        {
            RandomNumberService   randomNumberService;
            AdditionService       additionService;
            MultiplicationService multiplicationService;

            #region No Dependency Injection
            randomNumberService   = new RandomNumberService();
            additionService       = new AdditionService();
            multiplicationService = new MultiplicationService();
            #endregion

            #region All Initializations in 1 place
            //randomNumberService = new RandomNumberService(new ConsoleLogger());
            //additionService = new AdditionService(new ConsoleLogger());
            //multiplicationService = new MultiplicationService(new ConsoleLogger());
            #endregion

            #region Dependency Injection Basics
            //var serviceCollection = new ServiceCollection();
            //serviceCollection.AddSingleton<ConsoleLogger>();

            //var serviceProvider = serviceCollection.BuildServiceProvider();

            //randomNumberService = new RandomNumberService(serviceProvider.GetRequiredService<ConsoleLogger>());
            //additionService = new AdditionService(serviceProvider.GetRequiredService<ConsoleLogger>());
            //multiplicationService = new MultiplicationService(serviceProvider.GetRequiredService<ConsoleLogger>());
            #endregion

            #region FileLogger
            //var serviceCollection = new ServiceCollection();
            //serviceCollection.AddSingleton<ILogger, ConsoleLogger>();
            ////serviceCollection.AddSingleton<ILogger>(new FileLogger("output.log"));

            //var serviceProvider = serviceCollection.BuildServiceProvider();

            //randomNumberService = new RandomNumberService(serviceProvider.GetRequiredService<ILogger>());
            //additionService = new AdditionService(serviceProvider.GetRequiredService<ILogger>());
            //multiplicationService = new MultiplicationService(serviceProvider.GetRequiredService<ILogger>());
            #endregion

            #region Resolving properly
            //var serviceCollection = new ServiceCollection();
            //serviceCollection.AddSingleton<ILogger, ConsoleLogger>();
            //serviceCollection.AddSingleton<RandomNumberService>();
            //serviceCollection.AddSingleton<AdditionService>();
            //serviceCollection.AddSingleton<MultiplicationService>();

            //var serviceProvider = serviceCollection.BuildServiceProvider();

            //randomNumberService = serviceProvider.GetRequiredService<RandomNumberService>();
            //additionService = serviceProvider.GetRequiredService<AdditionService>();
            //multiplicationService = serviceProvider.GetRequiredService<MultiplicationService>();
            #endregion

            #region Lifetime management
            //var serviceCollection = new ServiceCollection();
            //serviceCollection.AddTransient<ILogger, ConsoleLogger>();
            //serviceCollection.AddSingleton<RandomNumberService>();
            //serviceCollection.AddSingleton<AdditionService>();
            //serviceCollection.AddSingleton<MultiplicationService>();

            //var serviceProvider = serviceCollection.BuildServiceProvider();

            //randomNumberService = serviceProvider.GetRequiredService<RandomNumberService>();
            //additionService = serviceProvider.GetRequiredService<AdditionService>();
            //multiplicationService = serviceProvider.GetRequiredService<MultiplicationService>();
            #endregion

            #region Scrutor
            //var serviceCollection = new ServiceCollection();
            //serviceCollection.AddSingleton<ILogger, ConsoleLogger>();
            //serviceCollection.Scan(scan => scan
            //    .FromAssemblyOf<Program>()
            //    .AddClasses(classes => classes.AssignableTo<IService>())
            //    .AsSelf()
            //    .WithSingletonLifetime());

            //var serviceProvider = serviceCollection.BuildServiceProvider();

            //randomNumberService = serviceProvider.GetRequiredService<RandomNumberService>();
            //additionService = serviceProvider.GetRequiredService<AdditionService>();
            //multiplicationService = serviceProvider.GetRequiredService<MultiplicationService>();
            #endregion

            #region Castle Windsor
            //var serviceCollection = new ServiceCollection();
            //serviceCollection.AddSingleton<ILogger, ConsoleLogger>();
            //serviceCollection.Scan(scan => scan
            //    .FromAssemblyOf<Program>()
            //    .AddClasses(classes => classes.AssignableTo<IService>())
            //    .AsSelf()
            //    .WithSingletonLifetime());

            //var serviceProvider = WindsorRegistrationHelper.CreateServiceProvider(new WindsorContainer(), serviceCollection);

            //randomNumberService = serviceProvider.GetRequiredService<RandomNumberService>();
            //additionService = serviceProvider.GetRequiredService<AdditionService>();
            //multiplicationService = serviceProvider.GetRequiredService<MultiplicationService>();
            #endregion

            var generatedNumbers     = randomNumberService.Generate(10);
            var additionResult       = additionService.Add(generatedNumbers);
            var multiplicationResult = multiplicationService.Multiply(generatedNumbers);

            Console.WriteLine($"Addition result: {additionResult}");
            Console.WriteLine($"Multiplication result: {multiplicationResult}");
        }
Exemplo n.º 11
0
 public void Setup()
 {
     //define service once to test
     _additionService = new AdditionService();
 }