コード例 #1
0
        public void Multiplication_Success()
        {
            var service      = new MultiplicationService();
            var actualResult = service.Multiplication(5, 10);

            Assert.Equal(50, actualResult);
        }
コード例 #2
0
 public void ShouldDeployAContractWithConstructor()
 {
     using (var testrpcRunner = new TestRPCEmbeddedRunner())
     {
         try
         {
             testrpcRunner.RedirectOuputToDebugWindow = true;
             testrpcRunner.StartTestRPC();
             var web3        = new Web3();
             var addressFrom = (web3.Eth.Accounts.SendRequestAsync()).Result[0];
             // Deploy the contract and add the multiplier to the constructor
             var transactionHash =
                 MultiplicationService.DeployContractAsync(web3, addressFrom, new HexBigInteger(900000), 4).Result;
             Assert.IsNotNull(transactionHash);
             var receipt  = web3.Eth.Transactions.GetTransactionReceipt.SendRequestAsync(transactionHash).Result;
             var contract = new MultiplicationService(web3, receipt.ContractAddress);
             // Do a multiplication
             var callResult = contract.MultiplyAsyncCall(4).Result;
             Assert.AreEqual(16, callResult);
         }
         finally
         {
             testrpcRunner.StopTestRPC();
         }
     }
 }
コード例 #3
0
        public void Multiplication_Theory(int param1, int param2, int expectedResult)
        {
            var service      = new MultiplicationService();
            var actualResult = service.Multiplication(param1, param2);

            Assert.Equal(expectedResult, actualResult);
        }
コード例 #4
0
        public void IsEven_ArithmeticException()
        {
            var service = new MultiplicationService();


            Assert.Throws <ArithmeticException>(() => service.IsEven(1));
        }
コード例 #5
0
        public void GenerateMultiplcationQuestionsTest()
        {
            var multiplicationService = new MultiplicationService();

            var numberOfQuestions = 10;

            var generatedQuestions = multiplicationService.GenerateQuestions(numberOfQuestions);

            Assert.AreEqual(numberOfQuestions, generatedQuestions.Count);

            foreach (var question in generatedQuestions)
            {
                var result = question.FirstNumber * question.SecondNumber;

                Assert.IsTrue(result >= 0 && result <= 100);
            }
        }
コード例 #6
0
        public void ScoreMultiplcationQuestionsTest()
        {
            var multiplicationService = new MultiplicationService();

            var generatedQuestions = Helper.GetQuestionSetForScoring();;

            multiplicationService.ScoreQuestions(generatedQuestions.Questions);

            //Split the questions after scoring into two lists
            //One is the multiplication questions which we can individually check to ensure they were scored properly
            var multiplicationQuestions = generatedQuestions.Questions.Where(a => a.QuestionType == QuestionType.Multiplication).ToList();

            Assert.AreEqual(QuestionState.Correct, multiplicationQuestions[0].QuestionState);
            Assert.AreEqual(QuestionState.Incorrect, multiplicationQuestions[1].QuestionState);
            Assert.AreEqual(QuestionState.NotScored, multiplicationQuestions[2].QuestionState);

            //This list is everything that isn't a multplication question and so should not have been scored
            var otherQuestions = generatedQuestions.Questions.Where(a => a.QuestionType != QuestionType.Multiplication);

            Assert.IsTrue(otherQuestions.All(a => a.QuestionState == QuestionState.NotScored));
        }
コード例 #7
0
 public void Setup()
 {
     randomSvc             = new Mock <IRandomNumberService>();
     multiplicationService = new MultiplicationService(randomSvc.Object);
 }
コード例 #8
0
 public void Setup()
 {
     _multiplicationService = new MultiplicationService();
 }
コード例 #9
0
ファイル: Program.cs プロジェクト: SuperMartas/iw5
        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}");
        }