public void Convert()
        {
            // Упорядочение
            using (ConverterController controller = new ConverterController(new MediaProvider(Directory.GetCurrentDirectory(), null), null))
            {
                controller.Configuration = new HttpConfiguration();
                controller.Request       = new HttpRequestMessage();
                HttpResponseMessage result = controller.Convert(new ConvertRequest()
                {
                    Data      = File.ReadAllBytes(Path.Combine(Directory.GetCurrentDirectory(), "demo.wav")),
                    InFormat  = "wav",
                    OutFormat = "mp3"
                }).Result;

                // Утверждение

                Assert.AreEqual(result.StatusCode, HttpStatusCode.OK);

                string         content        = result.Content.ReadAsStringAsync().Result;
                ConvertRequest convertRequest = JsonConvert.DeserializeObject <ConvertRequest>(content);

                Assert.IsNotNull(convertRequest?.Data);
            }
            // Действие
        }
        public void ConvertServiceTest()
        {
            var numberDetail = new NumberDetailRequest
            {
                Name   = "Behnam karimi",
                Number = 3324.39m
            };

            var result = _converterController.Convert(numberDetail) as HttpResponseMessage;

            result.EnsureSuccessStatusCode();

            var resultContent = result.Content.ReadAsAsync <NumberDetail>().GetAwaiter().GetResult();

            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
            Assert.IsNotNull(resultContent);
            Assert.AreEqual(numberDetail.Name, resultContent.Name);
            Assert.AreEqual(numberDetail.Number, resultContent.Number);
            Assert.AreEqual("three thousand and three hundred and twenty-four dollars and thirty-nine cents", resultContent.ConvertedNumber);
            Assert.AreEqual(DateTime.UtcNow.Date, resultContent.DateCreated.Date);
            Assert.AreNotEqual(Guid.Empty, resultContent.Id);
        }
示例#3
0
        public void When_Convert_InValid_Params_Then_ThrowsNullException()
        {
            //Arrange
            ConvertInputModel input = new ConvertInputModel();

            input.ConvertFrom = CurrencyType.GBP;
            input.ConvertTo   = CurrencyType.USD;

            var sut = new ConverterController(logger, currencyService, countryService);

            //Assert
            Assert.ThrowsAsync <ArgumentNullException>(() => sut.Convert(input));
        }
示例#4
0
        public void When_Convert_InValid_valueToConvert_Then_Response400BadRequestWithMessage(decimal testValue)
        {
            //Arrange
            ConvertInputModel input = new ConvertInputModel();

            input.ConvertFrom    = CurrencyType.GBP;
            input.ConvertTo      = CurrencyType.USD;
            input.ValueToConvert = testValue;
            var sut = new ConverterController(logger, currencyService, countryService);
            //Act
            var actualResult = sut.Convert(input).GetAwaiter().GetResult() as BadRequestObjectResult;

            //Assert
            Assert.Equal("Invalid data", actualResult.Value);
        }
示例#5
0
        public void When_Convert_Valid_Params_Then_Response200OK()
        {
            //Arrange
            ConvertInputModel input = new ConvertInputModel();

            input.ConvertFrom    = CurrencyType.GBP;
            input.ConvertTo      = CurrencyType.USD;
            input.ValueToConvert = 2;
            decimal testconvertRate = 1.60m * (input.ValueToConvert);
            var     sut             = new ConverterController(logger, currencyService, countryService);
            //Act
            var testResult = sut.Convert(input).GetAwaiter().GetResult() as OkObjectResult;

            //Assert
            Assert.NotNull(testResult);
            Assert.Equal("200", testResult.StatusCode.ToString());
            Assert.Equal(testconvertRate, testResult.Value);
        }