public void ShouldWorkNormally() { // Arrange var client = A.Fake <IRestClient>(); var options = Options.Create(new OpenFiscaOptions() { Url = "http://localhost:5000" }); var response = new OpenFiscaResource(); response.CreatePerson("test_person"); response.SetProp("test_person", "test_key", 6); var postResult = A.Fake <RestResponse <OpenFiscaResource> >(); postResult.Data = response; postResult.StatusCode = System.Net.HttpStatusCode.OK; A.CallTo(() => client.Execute <OpenFiscaResource>(A <RestRequest> ._, Method.POST)) .Returns(postResult); // Act var sut = new OpenFiscaLib(client, options); var req = new OpenFiscaResource(); var result = sut.Calculate(req); // Assert Assert.Equal(6, result.GetProp("test_person", "test_key")); }
public void ShouldWorkNormally() { // Arrange var testAmount = 5555; var regionId = Guid.NewGuid(); var openFiscaLib = A.Fake <IOpenFisca>(); var openFiscaResult = new OpenFiscaResource(); openFiscaResult.CreatePerson("test_person"); openFiscaResult.SetProp("test_person", OF.MaternityBenefitsAmount, testAmount); A.CallTo(() => openFiscaLib.Calculate(A <OpenFiscaResource> ._)) .Returns(openFiscaResult); // Act var sut = new MaternityBenefitsOpenFiscaCalculator(openFiscaLib); var rule = new MaternityBenefitsCase() { MaxWeeklyAmount = 500, NumWeeks = 10, Percentage = 50, }; var person = new MaternityBenefitsPerson() { AverageIncome = 1000 }; var result = sut.Calculate(rule, person); // Assert Assert.Equal(testAmount, result); }
public void ShouldWorkNormally() { // Arrange string personKey = "personKey"; string propKey = "propKey"; decimal value = 983.333m; var restClient = A.Fake <RestClient>(); var openFiscaResponse = new OpenFiscaResource(); openFiscaResponse.CreatePerson(personKey); openFiscaResponse.SetProp(personKey, propKey, value); var restResponse = new RestResponse <OpenFiscaResource> { Data = openFiscaResponse, StatusCode = System.Net.HttpStatusCode.OK }; A.CallTo(() => restClient.Execute <OpenFiscaResource>(A <RestRequest> ._, Method.POST)) .Returns(restResponse); var options = Options.Create(new OpenFiscaOptions() { Url = "localhost:5000" }); // Act var sut = new OpenFiscaLib(restClient, options); var request = A.Fake <OpenFiscaResource>(); var result = sut.Calculate(request); // Assert Assert.Equal(value, result.GetProp(personKey, propKey)); }
private decimal ExtractResponse(OpenFiscaResource openFiscaResponse) { var personKey = openFiscaResponse.persons.First().Key; var dictResult = openFiscaResponse.GetProp(personKey, OF.MaternityBenefitsAmount); return(Convert.ToDecimal(dictResult)); }
private OpenFiscaResource BuildResponse(decimal expectedResult) { var result = new OpenFiscaResource(); string personKey = "person1"; result.CreatePerson(personKey); result.SetProp(personKey, OF.TotalOTHours, expectedResult); return(result); }
private OpenFiscaResource BuildResponse(decimal expectedResult) { var day1Key = "day_1"; var day2Key = "day_2"; double day1Val = (double)expectedResult - 5; double day2Val = 5; var result = new OpenFiscaResource(); result.CreatePerson(day1Key); result.CreatePerson(day2Key); result.SetProp(day1Key, OF.DailyOTHours, day1Val); result.SetProp(day2Key, OF.DailyOTHours, day2Val); return(result); }
public void ShouldFetchKeys() { // Arrange string personKey = "myPersonKey"; string propKey = "myPropKey"; decimal value = 99.23223m; // Act var sut = new OpenFiscaResource(); sut.persons.Add(personKey, new Dictionary <string, Dictionary <string, object> >()); sut.persons[personKey].Add(propKey, new Dictionary <string, object>()); sut.persons[personKey][propKey].Add("dateKey", value); var result = sut.GetProp(personKey, propKey); // Assert Assert.Equal(value, result); }
public void ShouldCreateKeys() { // Arrange string personKey = "myPersonKey"; string propKey = "myPropKey"; decimal value = 99.23223m; // Act var sut = new OpenFiscaResource(); sut.CreatePerson(personKey); sut.SetProp(personKey, propKey, value); // Assert var manualResult = sut.persons[personKey][propKey].First().Value; var getResult = sut.GetProp(personKey, propKey); Assert.Equal(value, manualResult); Assert.Equal(value, getResult); }
private OpenFiscaResource BuildRequest(MaternityBenefitsCase rule, MaternityBenefitsPerson person) { var result = new OpenFiscaResource(); string personName = "person1"; result.CreatePerson(personName); // Target value result.SetProp(personName, OF.MaternityBenefitsAmount, null); // Person vars decimal averageIncome = person.AverageIncome; result.SetProp(personName, OF.AverageIncome, averageIncome); // Parameter overrides result.SetProp(personName, OF.MaxWeeklyAmount, rule.MaxWeeklyAmount); result.SetProp(personName, OF.NumWeeks, rule.NumWeeks); result.SetProp(personName, OF.Percentage, rule.Percentage); return(result); }