public void CalculateTest_Sequence1() { RodSetInput input = new RodSetInput(); input.FormulaCode = "F97"; input.ReadyMadeProduct = new List <ReadyMadeProduct>(); input.Sequence = 1; input.ReadyMadeProduct.Add(new ReadyMadeProduct("F97.1", Constant.RodKayuHitam, string.Empty, 0)); foreach (var p in input.ReadyMadeProduct) { p.Quantity = 2; p.Meter = 2; } RodSetOutput actual = new F97().Calculate(input); Assert.AreEqual(actual.RodOnlySubtotal, 52); Assert.AreEqual(actual.RodQuantity, 2); Assert.AreEqual(actual.EndCapQuantity, 4); Assert.AreEqual(actual.EndCapSubtotal, 0); Assert.AreEqual(actual.BracketQuantity, 4); Assert.AreEqual(actual.BracketSubtotal, 0); Assert.AreEqual(actual.RodSetTotal, 52); }
public void CalculateTest() { RodSetInput rodSetInput1 = new RodSetInput(); rodSetInput1.FormulaCode = "F97"; rodSetInput1.ReadyMadeProduct = new List <ReadyMadeProduct>(); rodSetInput1.Sequence = 1; rodSetInput1.ReadyMadeProduct.Add(new ReadyMadeProduct("F97.1", Constant.RodKayuHitam, string.Empty, 0)); foreach (var p in rodSetInput1.ReadyMadeProduct) { p.Quantity = 2; p.Meter = 2; } RodSetOutput rodSetOutput1 = new F97().Calculate(rodSetInput1); RodSetInput rodSetInput2 = new RodSetInput(); rodSetInput2.FormulaCode = "F97"; rodSetInput2.ReadyMadeProduct = new List <ReadyMadeProduct>(); rodSetInput2.Sequence = 2; rodSetInput2.ReadyMadeProduct.Add(new ReadyMadeProduct("F97.4", Constant.RodAluminiumMeroon, string.Empty, 0)); foreach (var p in rodSetInput2.ReadyMadeProduct) { p.Quantity = 2; p.Meter = 2; } RodSetOutput rodSetOutput2 = new F97().Calculate(rodSetInput2); Input input = new Input { Set = 1, HargaKainA = 13, Lebar = 120, Tinggi = 100, Layout = "L", HargaCincin = 10.5, RodSetOutput = rodSetOutput1, RodSetOutput2 = rodSetOutput2, }; IFormula formula = new F97_2_2(); Output actual = formula.Calculate(input); Assert.AreEqual(actual.Keping, 4); Assert.AreEqual(actual.Jumlah, 273.2); Assert.AreEqual(actual.HargaKainA, 93.6); Assert.AreEqual(actual.UpahKainA, 12); Assert.AreEqual(actual.HargaCincin, 75.6); Assert.AreEqual(actual.TailorTotalKeping, 4); Assert.AreEqual(actual.TailorKeping, 4); Assert.AreEqual(actual.TailorSheer, 1); Assert.AreEqual(actual.TailorKainTebal, 1); Assert.AreEqual(actual.TailorMeterA, 9999); Assert.IsTrue(actual.DetailedBreakdown.Contains("Jumlah")); Assert.IsTrue(actual.DetailedBreakdown.Contains("Harga")); input.Layout = "T"; actual = formula.Calculate(input); Assert.AreEqual(actual.TailorKeping, 2); Assert.AreEqual(actual.TailorSheer, 1); Assert.AreEqual(actual.TailorKainTebal, 1); Assert.AreEqual(actual.TailorMeterA, 9999); }