[Test]//2 public void Generate_Bills_For_Each_Customer_With_Correct_CDRs() { /*Arrange*/ CalculatedBill expected_1 = new CalculatedBill(); expected_1.PNumber = "077-7342345"; expected_1.CallDuration = 20; CalculatedBill expected_2 = new CalculatedBill(); expected_2.PNumber = "077-7342345"; expected_2.CallDuration = 40; /*Action*/ CalculatedBill ret_val = Genarate("077-7342345"); /*Assert*/ int i = 0; foreach (CalculatedBill res in print_Bill) { if (i == 0) { Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected_1.CallDuration, res.CallDuration); } else if (i == 1) { Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected_2.CallDuration, res.CallDuration); } i++; } }
[Test]//3 public void Calculate_Peak_Billing_Charges_for_PerMinute_Local_Calls_For_Full_Minutes_Correctly() { /*Arrange*/ CalculatedBill expected = new CalculatedBill(); expected.PNumber = "077-7342346"; double totalCallCharge = 3 * 120 / 60; //6 double Tax = (totalCallCharge + 100) * 20 / 100; //21.2 expected.Rental = 100; expected.BillAmount = totalCallCharge + Tax + expected.Rental;//127.2 /*Action*/ CalculatedBill ret_val = Genarate("077-7342346"); /*Assert*/ Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.PNumber, ret_val.PNumber); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.BillAmount, ret_val.BillAmount); }
[Test]//11 public void Calculate_Summery_Correctly() { /*Arrange*/ CalculatedBill expected = new CalculatedBill(); expected.PNumber = "077-7342354"; double totalCallCharge = (3 * 120 / 60) + (3 * 30 / 60) + (3 * 70 / 60); //12 double Tax = (totalCallCharge + 100) * 20 / 100; //22.4 expected.Rental = 100; expected.BillAmount = totalCallCharge + Tax + expected.Rental;//134.4 /*Action*/ CalculatedBill ret_val = Genarate("077-7342354"); /*Assert*/ Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.PNumber, ret_val.PNumber); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.BillAmount, ret_val.BillAmount); }
[Test]//9 public void Calculate_OffPeak_Billing_Charges_for_Local_Calls_After_Peak_Correctly() { /*Arrange*/ CalculatedBill expected = new CalculatedBill(); expected.PNumber = "077-7342352"; double totalCallCharge = 2 * 120 / 60; //12 double Tax = (totalCallCharge + 100) * 20 / 100; //22.4 expected.Rental = 100; expected.BillAmount = totalCallCharge + Tax + expected.Rental;//134.4 /*Action*/ CalculatedBill ret_val = Genarate("077-7342352"); /*Assert*/ Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.PNumber, ret_val.PNumber); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.BillAmount, ret_val.BillAmount); }
[Test]//12 public void Calculate_Summery_With_Discount_Correctly() { /*Arrange*/ CalculatedBill expected = new CalculatedBill(); expected.PNumber = "077-7342355"; double totalCallCharge = (3 * 12000 / 60) + (3 * 3000 / 60) + (3 * 7000 / 60); //600+150+350 = 1100 double Tax = (totalCallCharge + 100) * 20 / 100; // expected.Rental = 100; double discount = totalCallCharge * 40 / 100; //440 expected.BillAmount = totalCallCharge + Tax + expected.Rental - discount; // /*Action*/ CalculatedBill ret_val = Genarate("077-7342355"); /*Assert*/ Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.PNumber, ret_val.PNumber); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected.BillAmount, ret_val.BillAmount); }