public void RateControllerTests_GetRates(decimal rate, decimal dose, decimal vtbi, decimal expected) { var ctrl = new RatesController(); var res = ctrl.GetRates(rate, dose, vtbi); if (vtbi == 0) { vtbi = expected; } else { if (rate == 0) { rate = expected; } else { dose = expected; } } var ok = res.ShouldBeOfType <OkObjectResult>(); var o = (JObject)JToken.FromObject(ok.Value); o["vtbi"].Value <decimal>().ShouldBe(vtbi); o["rate"].Value <decimal>().ShouldBe(rate); o["dose"].Value <decimal>().ShouldBe(dose); }
public void RateControllerTests_MissingData(decimal rate, decimal dose, decimal vtbi) { var ctrl = new RatesController(); var res = ctrl.GetRates(rate, vtbi, dose); res.ShouldBeOfType <BadRequestObjectResult>(); }
public async Task GetRates() { var from = fixture.Create <string>(); var response = fixture.Create <RatesResponse>(); svc.Setup(s => s.GetRates(from)).ReturnsAsync(response); var result = await controller.GetRates(from); var okResult = (OkObjectResult)result; okResult.Value.Should().Be(response); }
public void TestGetAll() { // Arrange var TestController = new RatesController(new RateServiceMock()); // Execution var TestResult = TestController.GetRates().ToList(); // Assertions Assert.True(TestResult.Count == 4, "TestResult should have received 4 rows!"); Assert.Equal("EUR", TestResult[0].From); Assert.Equal("USD", TestResult[0].To); Assert.Equal(1.359m, TestResult[0].RateVal); Assert.Equal("CAD", TestResult[1].From); Assert.Equal("EUR", TestResult[1].To); Assert.Equal(0.732m, TestResult[1].RateVal); Assert.Equal("USD", TestResult[2].From); Assert.Equal("EUR", TestResult[2].To); Assert.Equal(0.736m, TestResult[2].RateVal); Assert.Equal("EUR", TestResult[3].From); Assert.Equal("CAD", TestResult[3].To); Assert.Equal(1.366m, TestResult[3].RateVal); }