コード例 #1
0
        public void AddPart()
        {
            WorkOrder workOrder = new WorkOrder();

            workOrder.Number = "123456";
            Part part = new Part();

            part.Number = "112233";
            vendor.Add(part);
            po.Add(part, workOrder);
            WorkOrder wo2;
            Part      p2;

            po.GetPart(0, out p2, out wo2);
            Assert.AreEqual(p2.Number, part.Number, "Part number does not match.");
            Assert.AreEqual(wo2.Number, workOrder.Number, "Work order number does not match.");
        }
コード例 #2
0
 public void WorkOrderSetUp()
 {
     workOrder = new WorkOrder();
 }
コード例 #3
0
        public void WorkOrderConstructor()
        {
            wo1=new WorkOrder();
            Assert.AreEqual(wo1.Number,"", "Number not initialized.");
            Assert.AreEqual(wo1.ChargeSlipCount,0, "ChargeSlipCount not initialized.");

            wo2=new WorkOrder();
        }
コード例 #4
0
 public void Add(WorkOrder wo)
 {
     workOrders.Add(wo);
 }
コード例 #5
0
 public void Add(Part p, WorkOrder wo)
 {
     parts.Add(p, wo);
 }
コード例 #6
0
 public void Add(WorkOrder wo)
 {
     workOrders.Add(wo);
 }
コード例 #7
0
 public void RetrieveWorkOrder()
 {
     WorkOrder workOrder=new WorkOrder();
     workOrder.Number="123456";
     customer.Add(workOrder);
     WorkOrder wo2=customer.WorkOrders[0];
     Assert.AreEqual(workOrder.Number,wo2.Number, "WorkOrder numbers do not match.");
 }
コード例 #8
0
        public void ClosePO()
        {
            WorkOrder wo1 = new WorkOrder();
            WorkOrder wo2 = new WorkOrder();

            wo1.Number = "000001";
            wo2.Number = "000002";

            Part p1 = new Part();
            Part p2 = new Part();
            Part p3 = new Part();

            p1.Number     = "A";
            p1.VendorCost = 15;

            p2.Number     = "B";
            p2.VendorCost = 20;

            p3.Number     = "C";
            p3.VendorCost = 25;

            vendor.Add(p1);
            vendor.Add(p2);
            vendor.Add(p3);

            po.Add(p1, wo1);
            po.Add(p2, wo1);
            po.Add(p3, wo2);

            Charge charge = new Charge();

            charge.Description = "Freight";
            charge.Amount      = 10.50;

            Invoice invoice = new Invoice();

            invoice.Number = "1234";
            invoice.Vendor = vendor;
            invoice.Add(charge);

            po.Invoice = invoice;

            po.Close();

            // one charge slip should be added to both work orders
            Assert.AreEqual(wo1.ChargeSlipCount, 1, "First work order: ChargeSlipCount not 1.");
            Assert.AreEqual(wo2.ChargeSlipCount, 1, "Second work order: ChargeSlipCount not 1.");

            ChargeSlip cs1 = wo1.ChargeSlips[0];
            ChargeSlip cs2 = wo2.ChargeSlips[0];

            // three charges should exist for charge slip #1: two parts and one freight charge
            Assert.AreEqual(cs1.PartCount + cs1.ChargeCount, 3, "Charge slip 1: doesn't have three charges.");

            // the freight for CS1 should be 10.50 * (15+20)/(15+20+25) = 6.125
            Assert.AreEqual(cs1.Charges[0].Amount, 6.125, "Charge slip 1: charge not the correct amount.");

            // two charges should exist for charge slip #2: one part and one freight charge
            Assert.AreEqual(cs2.PartCount + cs2.ChargeCount, 2, "Charge slip 2: doesn't have two charges.");

            // the freight for CS2 should be 10.50 * 25/(15+20+25) = 4.375  (also = 10.50-6.125)
            Assert.AreEqual(cs2.Charges[0].Amount, 4.375, "Charge slip 2: charge not the correct amount.");

            // while we have a unit test that verifies that parts are added to charge slips correctly,
            // we don't have a unit test to verify that the purchase order Close process does this
            // correctly.

            Part cs1p1 = cs1.Parts[0];
            Part cs1p2 = cs1.Parts[1];

            if (cs1p1.Number == "A")
            {
                Assert.AreEqual(cs1p1.VendorCost, 15, "Charge slip 1, vendor cost not correct for part A.");
            }
            else if (cs1p1.Number == "B")
            {
                Assert.AreEqual(cs1p1.VendorCost, 20, "Charge slip 1, vendor cost not correct for part B.");
            }
            else
            {
                throw(new IncorrectChargeSlipException());
            }

            Assert.IsTrue(cs1p1.Number != cs1p2.Number, "Charge slip part numbers are not unique.");

            if (cs1p2.Number == "A")
            {
                Assert.AreEqual(cs1p2.VendorCost, 15, "Charge slip 1, vendor cost is not correct for part A.");
            }
            else if (cs1p2.Number == "B")
            {
                Assert.AreEqual(cs1p2.VendorCost, 20, "Charge slip 1, vendor cost is not correct for part B.");
            }
            else
            {
                throw(new IncorrectChargeSlipException());
            }

            Assert.AreEqual(cs2.Parts[0].Number, "C", "Charge slip 2, part number is not correct.");
            Assert.AreEqual(cs2.Parts[0].VendorCost, 25, "Charge slip 2, vendor cost is not correct for part C.");
        }
コード例 #9
0
 public void UnassignedWorkOrderNumber()
 {
     WorkOrder workOrder=new WorkOrder();
     Part part=new Part();
     part.Number="112233";
     po.Add(part, workOrder);
 }
コード例 #10
0
 public void UnassignedPartNumber()
 {
     WorkOrder workOrder=new WorkOrder();
     workOrder.Number="123456";
     Part part=new Part();
     po.Add(part, workOrder);
 }
コード例 #11
0
        public void ClosePO()
        {
            WorkOrder wo1=new WorkOrder();
            WorkOrder wo2=new WorkOrder();

            wo1.Number="000001";
            wo2.Number="000002";

            Part p1=new Part();
            Part p2=new Part();
            Part p3=new Part();

            p1.Number="A";
            p1.VendorCost=15;

            p2.Number="B";
            p2.VendorCost=20;

            p3.Number="C";
            p3.VendorCost=25;

            vendor.Add(p1);
            vendor.Add(p2);
            vendor.Add(p3);

            po.Add(p1, wo1);
            po.Add(p2, wo1);
            po.Add(p3, wo2);

            Charge charge=new Charge();
            charge.Description="Freight";
            charge.Amount=10.50;

            Invoice invoice=new Invoice();
            invoice.Number="1234";
            invoice.Vendor=vendor;
            invoice.Add(charge);

            po.Invoice=invoice;

            po.Close();

            // one charge slip should be added to both work orders
            Assert.AreEqual(wo1.ChargeSlipCount,1, "First work order: ChargeSlipCount not 1.");
            Assert.AreEqual(wo2.ChargeSlipCount,1, "Second work order: ChargeSlipCount not 1.");

            ChargeSlip cs1=wo1.ChargeSlips[0];
            ChargeSlip cs2=wo2.ChargeSlips[0];

            // three charges should exist for charge slip #1: two parts and one freight charge
            Assert.AreEqual(cs1.PartCount + cs1.ChargeCount,3, "Charge slip 1: doesn't have three charges.");

            // the freight for CS1 should be 10.50 * (15+20)/(15+20+25) = 6.125
            Assert.AreEqual(cs1.Charges[0].Amount,6.125, "Charge slip 1: charge not the correct amount.");

            // two charges should exist for charge slip #2: one part and one freight charge
            Assert.AreEqual(cs2.PartCount + cs2.ChargeCount,2, "Charge slip 2: doesn't have two charges.");

            // the freight for CS2 should be 10.50 * 25/(15+20+25) = 4.375  (also = 10.50-6.125)
            Assert.AreEqual(cs2.Charges[0].Amount,4.375, "Charge slip 2: charge not the correct amount.");

            // while we have a unit test that verifies that parts are added to charge slips correctly,
            // we don't have a unit test to verify that the purchase order Close process does this
            // correctly.

            Part cs1p1=cs1.Parts[0];
            Part cs1p2=cs1.Parts[1];
            if (cs1p1.Number=="A")
            {
                Assert.AreEqual(cs1p1.VendorCost,15, "Charge slip 1, vendor cost not correct for part A.");
            }
            else if (cs1p1.Number=="B")
            {
                Assert.AreEqual(cs1p1.VendorCost,20, "Charge slip 1, vendor cost not correct for part B.");
            }
            else
            {
                throw(new IncorrectChargeSlipException());
            }

            Assert.IsTrue(cs1p1.Number != cs1p2.Number, "Charge slip part numbers are not unique.");

            if (cs1p2.Number=="A")
            {
                Assert.AreEqual(cs1p2.VendorCost,15, "Charge slip 1, vendor cost is not correct for part A.");
            }
            else if (cs1p2.Number=="B")
            {
                Assert.AreEqual(cs1p2.VendorCost,20, "Charge slip 1, vendor cost is not correct for part B.");
            }
            else
            {
                throw(new IncorrectChargeSlipException());
            }

            Assert.AreEqual(cs2.Parts[0].Number,"C", "Charge slip 2, part number is not correct.");
            Assert.AreEqual(cs2.Parts[0].VendorCost,25, "Charge slip 2, vendor cost is not correct for part C.");
        }
コード例 #12
0
 public void AddPartNotFromVendor()
 {
     WorkOrder workOrder=new WorkOrder();
     workOrder.Number="123456";
     Part part=new Part();
     part.Number="131133";
     po.Add(part, workOrder);
 }
コード例 #13
0
 public void AddPart()
 {
     WorkOrder workOrder=new WorkOrder();
     workOrder.Number="123456";
     Part part=new Part();
     part.Number="112233";
     vendor.Add(part);
     po.Add(part, workOrder);
     WorkOrder wo2;
     Part p2;
     po.GetPart(0, out p2, out wo2);
     Assert.AreEqual(p2.Number,part.Number, "Part number does not match.");
     Assert.AreEqual(wo2.Number,workOrder.Number, "Work order number does not match.");
 }
コード例 #14
0
 public void UnassignedWorkOrderNumber()
 {
     WorkOrder workOrder=new WorkOrder();
     customer.Add(workOrder);
 }
コード例 #15
0
        public void UnassignedWorkOrderNumber()
        {
            WorkOrder workOrder = new WorkOrder();

            customer.Add(workOrder);
        }
コード例 #16
0
 public void WorkOrderSetUp()
 {
     workOrder=new WorkOrder();
 }
コード例 #17
0
 public void GetPart(int index, out Part p, out WorkOrder wo)
 {
     // *** NO BOUNDARY TESTING !!! ***
     p  = partsArray[index];
     wo = parts[p] as WorkOrder;
 }
コード例 #18
0
ファイル: CaseStudyPart.cs プロジェクト: tmauldin/mb-unit
 public void Add(Part p, WorkOrder wo)
 {
     parts.Add(p, wo);
 }
コード例 #19
0
 public void AddWorkOrder()
 {
     WorkOrder workOrder=new WorkOrder();
     workOrder.Number="123456";
     customer.Add(workOrder);
     Assert.AreEqual(customer.WorkOrderCount,1, "Work order not added.");
 }