public void ShouldReturnEnergyChargesWhenUnitsConsumedForSlab3() { units = 151; expected = 703.80; outputModel = ecController.Calculation(units); double actual = outputModel.TotalEnergyCharges; Assert.AreEqual(expected, actual); }
public void ShouldReturnEnergyChargesWhenUnitsConsumedForSlab4() { EnergyCharges energycharges = new EnergyCharges(); EnergyChargesBilled result = energycharges.EnergyChargesCalculation(301); double actual = result.TotalEnergyCharges; double expected = 1649.00; Assert.AreEqual(expected, actual); }
public EnergyChargesBilled Calculation(int units) { EnergyCharges energyCharges = new EnergyCharges(); EnergyChargesBilled ecbilled = new EnergyChargesBilled(); ecbilled = energyCharges.EnergyChargesCalculation(units); return(ecbilled); }
public EnergyChargesBilled GetEnrgySlabCharges() { string strResponseContent; using (StreamReader reader = new StreamReader(FilePath)) { strResponseContent = reader.ReadToEnd(); } EnergyChargesBilled enrgySlab = JsonConvert.DeserializeObject <EnergyChargesBilled>(strResponseContent); return(enrgySlab); }
public EnergyChargesBilled callwebapi(string parameters) { using (var httpClient = new HttpClient()) { using (var response = httpClient.GetAsync(parameters).Result) { if (response.IsSuccessStatusCode) { string apiResponse = response.Content.ReadAsStringAsync().Result; expectedresult = JsonConvert.DeserializeObject <EnergyChargesBilled>(apiResponse); totalenergycharges = expectedresult.TotalEnergyCharges; } } } return(expectedresult); }
public bool SetEnrgySlabCharges(EnergyChargesBilled eModel) { bool SlabChargesUpdated = false; var json = File.ReadAllText(FilePath); var enrgySlabList = JsonConvert.DeserializeObject <EnergyChargesBilled>(json); if (eModel != null) { enrgySlabList.Slab1Rate = eModel.Slab1Rate; enrgySlabList.Slab2Rate = eModel.Slab2Rate; enrgySlabList.Slab3Rate = eModel.Slab3Rate; enrgySlabList.Slab4Rate = eModel.Slab4Rate; File.WriteAllText(FilePath, JsonConvert.SerializeObject(enrgySlabList, Formatting.Indented)); SlabChargesUpdated = true; } return(SlabChargesUpdated); }
public void ShouldReturnEnergyChargesWhenUnitsConsumedIsOneForSlab1() { units = 1; expected = 4.05; outputModel = ecController.Calculation(units); double actual = outputModel.TotalEnergyCharges; Assert.AreEqual(expected, actual); //outputModel.TotalEnergyCharges = 4.05; //var service = new Mock<IElectricityCharge>(); //service.Setup(m => m.EnergyChargesCalculation(It.IsAny<int>(), // It.IsAny<EnergyChargesBilled>())).Returns(outputModel); //ecController = new EnergyChargesController(service.Object); //double actual = ecController.Calculation(units, inputModel).TotalEnergyCharges; //service.Verify(x => x.EnergyChargesCalculation(units, inputModel), Times.AtLeastOnce()); //Assert.AreEqual(expected, actual); }
public EnergyChargesBilled EnergyChargesCalculation(int Units) { EnergyChargesBilled eModel = GetEnrgySlabCharges(); if (Units == 0) { eModel.TotalEnergyCharges = 0; } else if (Units >= (int)slab1range.min && Units <= (int)slab1range.max) { eModel.Slab1EnergyCharges = Units * eModel.Slab1Rate; eModel.TotalEnergyCharges = eModel.Slab1EnergyCharges; } else if (Units >= (int)slab2range.min && Units <= (int)slab2range.max) { eModel.Slab1EnergyCharges = (50 * eModel.Slab1Rate); eModel.Slab2EnergyCharges = ((Units - 50) * eModel.Slab2Rate); eModel.TotalEnergyCharges = eModel.Slab1EnergyCharges + eModel.Slab2EnergyCharges; } else if (Units >= (int)slab3range.min && Units <= (int)slab3range.max) { eModel.Slab1EnergyCharges = (50 * eModel.Slab1Rate); eModel.Slab2EnergyCharges = (100 * eModel.Slab2Rate); eModel.Slab3EnergyCharges = ((Units - 150) * eModel.Slab3Rate); eModel.TotalEnergyCharges = eModel.Slab1EnergyCharges + eModel.Slab2EnergyCharges + eModel.Slab3EnergyCharges; } else if (Units >= (int)slab4range.min) { eModel.Slab1EnergyCharges = (50 * eModel.Slab1Rate); eModel.Slab2EnergyCharges = (100 * eModel.Slab2Rate); eModel.Slab3EnergyCharges = (150 * eModel.Slab3Rate); eModel.Slab4EnergyCharges = ((Units - 300) * eModel.Slab4Rate); eModel.TotalEnergyCharges = eModel.Slab1EnergyCharges + eModel.Slab2EnergyCharges + eModel.Slab3EnergyCharges + eModel.Slab4EnergyCharges; } return(eModel); }
public void WhenTheStateABDYElectricityBillGetsGenerated() { expectedresult = JsonConvert.DeserializeObject <EnergyChargesBilled>(apiResponse); totalenergycharges = expectedresult.TotalEnergyCharges; }
public bool SetCharges([FromBody] EnergyChargesBilled eModel) { return(energyCharges.SetEnrgySlabCharges(eModel)); }
public EnergyChargesBilled Calculation(int units) { EnergyChargesBilled _eModel = energyCharges.EnergyChargesCalculation(units); return(_eModel); }
public EnergyChargesBilled EnergyChargesCalculation(int Units) { EnergyChargesBilled ecbilled = new EnergyChargesBilled(); if (Units == 0) { totalenergycharges = 0; ecbilled.TotalEnergyCharges = totalenergycharges; ecbilled.Units = Units; ecbilled.Slab = 0; } else if (Units >= (int)slab1range.min && Units <= (int)slab1range.max) { totalenergycharges = Units * GetSlabRate((int)ElectricitySlabs.slab1); Slab1Charges = totalenergycharges; ecbilled.Slab1Charges = Slab1Charges; ecbilled.TotalEnergyCharges = totalenergycharges; ecbilled.Units = Units; ecbilled.Slab = 1; } else if (Units >= (int)slab2range.min && Units <= (int)slab2range.max) { totalenergycharges = (50 * GetSlabRate((int)ElectricitySlabs.slab1)) + ((Units - 50) * GetSlabRate((int)ElectricitySlabs.slab2)); Slab1Charges = (50 * GetSlabRate((int)ElectricitySlabs.slab1)); Slab2Charges = ((Units - 50) * GetSlabRate((int)ElectricitySlabs.slab2)); ecbilled.Slab1Charges = Slab1Charges; ecbilled.Slab2Charges = Slab2Charges; ecbilled.TotalEnergyCharges = totalenergycharges; ecbilled.Units = Units; ecbilled.Slab = 2; } else if (Units >= (int)slab3range.min && Units <= (int)slab3range.max) { totalenergycharges = (50 * GetSlabRate((int)ElectricitySlabs.slab1)) + (100 * GetSlabRate((int)ElectricitySlabs.slab2)) + ((Units - 150) * GetSlabRate((int)ElectricitySlabs.slab3)); Slab1Charges = (50 * GetSlabRate((int)ElectricitySlabs.slab1)); Slab2Charges = (100 * GetSlabRate((int)ElectricitySlabs.slab2)); Slab3Charges = ((Units - 150) * GetSlabRate((int)ElectricitySlabs.slab3)); ecbilled.Slab1Charges = Slab1Charges; ecbilled.Slab2Charges = Slab2Charges; ecbilled.Slab3Charges = Slab3Charges; ecbilled.TotalEnergyCharges = totalenergycharges; ecbilled.Units = Units; ecbilled.Slab = 3; } else if (Units >= (int)slab4range.min) { totalenergycharges = (50 * GetSlabRate((int)ElectricitySlabs.slab1)) + (100 * GetSlabRate((int)ElectricitySlabs.slab2)) + (150 * GetSlabRate((int)ElectricitySlabs.slab3)) + (Units - 300) * GetSlabRate((int)ElectricitySlabs.slab4); Slab1Charges = (50 * GetSlabRate((int)ElectricitySlabs.slab1)); Slab2Charges = (100 * GetSlabRate((int)ElectricitySlabs.slab2)); Slab3Charges = (150 * GetSlabRate((int)ElectricitySlabs.slab3)); Slab4Charges = (Units - 300) * GetSlabRate((int)ElectricitySlabs.slab4); ecbilled.Slab1Charges = Slab1Charges; ecbilled.Slab2Charges = Slab2Charges; ecbilled.Slab3Charges = Slab3Charges; ecbilled.Slab4Charges = Slab4Charges; ecbilled.TotalEnergyCharges = totalenergycharges; ecbilled.Units = Units; ecbilled.Slab = 4; } return(ecbilled); }
public void WhenTheStateABDYElectricityBillGetsGenerated() { expectedresult = callwebapi(webapi); totalenergycharges = expectedresult.TotalEnergyCharges; }
public void GivenIConsumedUnitsInAMonth(int units) { webapi = webapi + "Calculation?units=" + units; expectedresult = callwebapi(webapi); totalenergycharges = expectedresult.TotalEnergyCharges; }