Beispiel #1
0
        private void BindControls(CarWashInvoice carWashInvoice)
        {
            Binding packagePriceBind = new Binding("Text", carWashInvoice, "PackageCost");

            packagePriceBind.Format += new ConvertEventHandler(DecimalToCurrencyString);
            lblPackageP.DataBindings.Add(packagePriceBind);

            Binding fragrancePriceBind = new Binding("Text", carWashInvoice, "FragranceCost");

            fragrancePriceBind.Format += new ConvertEventHandler(DecimalToNumberString);
            lblFragranceP.DataBindings.Add(fragrancePriceBind);

            Binding subTotalBind = new Binding("Text", carWashInvoice, "SubTotal");

            subTotalBind.Format += new ConvertEventHandler(DecimalToCurrencyString);
            lblSubt.DataBindings.Add(subTotalBind);

            Binding taxesBind = new Binding("Text", carWashInvoice, "GoodsAndServicesTaxCharged");

            taxesBind.Format += new ConvertEventHandler(DecimalToNumberString);
            lblTaxe.DataBindings.Add(taxesBind);

            Binding totalBind = new Binding("Text", carWashInvoice, "Total");

            totalBind.Format += new ConvertEventHandler(DecimalToCurrencyString);
            lblTot.DataBindings.Add(totalBind);
        }
        public void Constructor_PST_GST_PackageCost_FragranceCost_Test()
        {
            //Arrange
            decimal provincialSalesTaxRate  = 0.2m;
            decimal goodsAndServicesTaxRate = 0.1m;
            decimal packageCost             = 1000;
            decimal fragranceCost           = 1000;

            CarWashInvoice carWashInvoice        = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);
            PrivateObject  carWashInvoicePrivate = new PrivateObject(carWashInvoice)
                                                   PrivateObject target = new PrivateObject(carWashInvoice, new PrivateType(typeof(Invoice)));

            //Act
            decimal expectedProvincialSalesTaxRate  = 0.2m;
            decimal expectedGoodsAndServicesTaxRate = 0.1m;
            decimal expectedPackageCost             = 1000;
            decimal expectedFragranceCost           = 1000;

            decimal actualProvincialSalesTaxRate  = (decimal)target.GetField("provincialSalesTaxRate");
            decimal actualGoodsAndServicesTaxRate = (decimal)target.GetField("goodsAndServicesTaxRate");
            decimal actualPackageCost             = (decimal)carWashInvoicePrivate.GetField("packageCost");
            decimal actualFragranceCost           = (decimal)carWashInvoicePrivate.GetField("fragranceCost");

            //Assert
            Assert.AreEqual(expectedProvincialSalesTaxRate, actualProvincialSalesTaxRate);
            Assert.AreEqual(expectedGoodsAndServicesTaxRate, actualGoodsAndServicesTaxRate);
            Assert.AreEqual(expectedPackageCost, actualPackageCost);
            Assert.AreEqual(actualFragranceCost, expectedFragranceCost);
        }
        /// <summary>
        /// Creates an instance of the CarWashInvoiceForm.
        /// </summary>
        /// <param name="carWash"></param>
        public CarWashInvoiceForm(CarWashInvoice carWash)
        {
            InitializeComponent();
            this.FormClosed += CarWashInvoiceForm_FormClosed;

            lblTitle.Text = "Car Wash Invoice";

            Binding packageCost = new Binding("Text", carWash, "PackageCost", true);

            packageCost.FormatString = "C";
            lblPackagePrice.DataBindings.Add(packageCost);

            Binding fragranceCost = new Binding("Text", carWash, "FragranceCost", true);

            fragranceCost.FormatString = "N";
            lblFragrancePrice.DataBindings.Add(fragranceCost);

            Binding subtotal = new Binding("Text", carWash, "Subtotal", true);

            subtotal.FormatString = "C";
            lblSubtotal.DataBindings.Add(subtotal);

            Binding tax = new Binding("Text", carWash, "GoodsAndServicesTaxCharged", true);

            tax.FormatString = "N";
            lblTax.DataBindings.Add(tax);

            Binding total = new Binding("Text", carWash, "Total", true);

            total.FormatString = "C";
            lblTotalWash.DataBindings.Add(total);
        }
        public void SetFragranceCost_LessThanZero_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m, 1000, 1000);

            //Act
            carWashInvoice.FragranceCost = -1000;
        }
 public void CarWashInvoice_Fragrance_Less_Exception_Test()
 {
     decimal        provincialSalesTaxRate  = 0.1M;
     decimal        goodsAndServicesTaxRate = 0.3M;
     decimal        packageCost             = 0.4M;
     decimal        fragranceCost           = -0.5M;
     CarWashInvoice actualCarWashInvoice    = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);
 }
        public void CarWashInvoice_WithNoPackageAndFragranceCost_Test()
        {
            CarWashInvoice carWashInvoice        = new CarWashInvoice(0.1M, 0.3M);
            PrivateObject  privateCarWashInvoice = new PrivateObject(carWashInvoice);
            PrivateObject  privateInvoice        = new PrivateObject(carWashInvoice, new PrivateType(typeof(Invoice)));

            Assert.AreEqual(0.1M, (decimal)privateInvoice.GetField("provincialSalesTaxRate"));
            Assert.AreEqual(0.3M, (decimal)privateInvoice.GetField("goodsAndServicesTaxRate"));
        }
        public void GetFragranceCost_Test()
        {
            decimal        fragranceCost         = 0.3M;
            CarWashInvoice carWashInvoice        = new CarWashInvoice(0.2M, 0.1M, 0.3M, fragranceCost);
            decimal        expectedFragranceCost = 0.3M;
            decimal        actualFragranceCost   = carWashInvoice.FragranceCost;

            Assert.AreEqual(expectedFragranceCost, actualFragranceCost);
        }
        public void FragranceCostChanged_Test()
        {
            this.eventActual = null;
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.2m, 300, 300);

            carWashInvoice.FragranceCostChanged += TestHandler;
            carWashInvoice.FragranceCost         = 500;
            Assert.AreEqual("Event triggered.", eventActual);
        }
        public void GetPackageCost_Test()
        {
            decimal        packageCost         = 0.3M;
            CarWashInvoice carWashInvoice      = new CarWashInvoice(0.2M, 0.1M, packageCost, 0.8M);
            decimal        expectedPackageCost = 0.3M;
            decimal        actualPackageCost   = carWashInvoice.PackageCost;

            Assert.AreEqual(expectedPackageCost, actualPackageCost);
        }
        public void PackageCostSet_NegativePackageCost_Exception()
        {
            // Arrange
            decimal provincialSalesTaxRate = 0.5M, goodsAndServicesTaxRate = 0.8M, packageCost = -20M, fragranceCost = 40M;

            CarWashInvoice customerCarWashInvoice = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);

            // Act
            decimal actual = customerCarWashInvoice.PackageCost;
        }
        public void Total_Test()
        {
            decimal        provincialSalesTaxRate  = 0.1M;
            decimal        goodsAndServicesTaxRate = 0.3M;
            CarWashInvoice carWashInvoice          = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, 0.3M, 0.4M);
            decimal        expectedTotal           = 0.91M;
            decimal        actualTotal             = carWashInvoice.Total;

            Assert.AreEqual(expectedTotal, actualTotal);
        }
 public void Constructor_PST_GST_PackageCost_FragranceCost_PackageCostLessThanZero_Test()
 {
     //Arrange
     decimal        provincialSalesTaxRate  = 0.2m;
     decimal        goodsAndServicesTaxRate = 0.1m;
     decimal        packageCost             = -1;
     decimal        fragranceCost           = 1000;
     CarWashInvoice carWashInvoice          = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);
     //Act
     //Assert
 }
 /// <summary>
 /// Create Car Wash Invoice
 /// </summary>
 /// <param name="package">selected item from the binding source</param>
 /// <param name="fragrance">selected item from the binding source</param>
 public CarWashInvoiceForm(CarWashInvoice obj)
 {
     InitializeComponent();
     lblInvoiceTitle.Text     = "Car Wash Invoice";
     this.Text                = "Car Wash Invoice";
     lblDPPackagePrice.Text   = String.Format("{0:C}", obj.PackageCost);
     lblDPFragrancePrice.Text = String.Format("{0}", obj.FragranceCost);
     lblDPSubtotal.Text       = String.Format("{0:C}", obj.SubTotal);
     lblDPTaxes.Text          = String.Format("{0:0.00}", obj.ProvincialSalesTaxCharged + obj.GoodsAndServicesTaxCharged);
     lblDPTotal.Text          = String.Format("{0:C}", obj.Total);
 }
        public void SubTotal_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m, 1000, 1000);

            //Act
            decimal subTotal = carWashInvoice.PackageCost + carWashInvoice.FragranceCost;

            //Assert
            Assert.AreEqual(2000, subTotal);
        }
        public void GetGoodsAndServicesTaxCharged_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m, 1000, 1000);

            //Act
            decimal salesTax = (carWashInvoice.PackageCost + carWashInvoice.FragranceCost) * 0.1m;

            //Assert
            Assert.AreEqual(200, salesTax);
        }
        public void GetProvincialSalesTaxCharged_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m);

            //Act
            decimal salesTax = 0;

            //Assert
            Assert.AreEqual(0, salesTax);
        }
 public void Constructor_PST_GST_GoodsAndServicesTaxRateMoreThanOne_Test()
 {
     //Arrange
     decimal        provincialSalesTaxRate  = 0.2m;
     decimal        goodsAndServicesTaxRate = 1.1m;
     decimal        packageCost             = 0;
     decimal        fragranceCost           = 0;
     CarWashInvoice carWashInvoice          = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);
     //Act
     //Assert
 }
        public void Total_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m, 1000, 1000);

            //Act
            decimal expectedTotal = 1000 + 1000 + 0 + (1000 + 1000) * 0.1m;
            decimal actualTotal   = carWashInvoice.Total;

            //Assert
            Assert.AreEqual(expectedTotal, actualTotal);
        }
        private void cbo_SelectedIndexChanged(object sender, EventArgs e)
        {
            packageCost   = 0;
            fragranceCost = 0;
            lstInterior.Items.Clear();
            lstExterior.Items.Clear();

            if (cboPackage.SelectedIndex == -1)
            {
                packageCost = packages[cboPackage.SelectedIndex + 1];
            }
            else
            {
                packageCost = packages[cboPackage.SelectedIndex];
            }

            if (cboFragrance.SelectedIndex == -1)
            {
                fragranceCost = fragrances[cboFragrance.SelectedIndex + 1];
            }
            else
            {
                fragranceCost = fragrances[cboFragrance.SelectedIndex];
            }

            interior[0] = String.Format("Fragrance - " + Convert.ToString(cboFragrance.SelectedItem));

            for (int i = 0; i <= cboPackage.SelectedIndex; i++)
            {
                lstInterior.Items.Add(interior[i]);
                lstExterior.Items.Add(exterior[i]);
            }

            if (Convert.ToString(cboPackage.SelectedItem) != "" && Convert.ToString(cboFragrance.SelectedItem) != "")
            {
                CarWashInvoice invoice = new CarWashInvoice(0.05m, 0.08m, packageCost, fragranceCost);
                lblSub.Text = String.Format("{0:c}", invoice.SubTotal);
                decimal pstCharged = invoice.ProvincialSalesTaxCharged;
                decimal gstCharged = invoice.GoodsAndServicesTaxCharged;
                lblPs.Text   = pstCharged.ToString("n");
                lblGS.Text   = gstCharged.ToString("n");
                lblTota.Text = String.Format("{0:c}", invoice.Total);
            }

            if (lblTota.Text != "")
            {
                mnuGenerateInvoice.Enabled = true;
            }
            else
            {
                mnuGenerateInvoice.Enabled = false;
            }
        }
        public void Constructor1_GreaterThanOneGSTRate_Exception()
        {
            // Arrange
            decimal provincialSalesTaxRate = 0.5M, goodsAndServicesTaxRate = 1.8M;

            CarWashInvoice customerCarWashInvoice = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate);

            PrivateObject target = new PrivateObject(customerCarWashInvoice);

            // Act
            decimal actual = (decimal)target.GetField("goodsAndServicesTaxRate");
        }
        public void Constructor2_NegativeFragranceCost_Exception()
        {
            // Arrange
            decimal provincialSalesTaxRate = 0.5M, goodsAndServicesTaxRate = 0.8M, packageCost = 20M, fragranceCost = -30M;

            CarWashInvoice customerCarWashInvoice = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);

            PrivateObject target = new PrivateObject(customerCarWashInvoice);

            // Act
            decimal actual = (decimal)target.GetField("fragranceCost");
        }
        public void SetFragranceCost_Test()
        {
            decimal        fragranceCost         = 0.1M;
            CarWashInvoice carWashInvoice        = new CarWashInvoice(0.1M, 0.2M, 0.3M, fragranceCost);
            decimal        expectedFragranceCost = 0.1M;

            carWashInvoice.FragranceCost = 0.1M;
            PrivateObject target = new PrivateObject(carWashInvoice);
            decimal       actualFragranceCost = (decimal)target.GetField("fragranceCost");

            Assert.AreEqual(expectedFragranceCost, actualFragranceCost);
        }
        public void SetPackageCost_Test()
        {
            decimal        packageCost         = 0.1M;
            CarWashInvoice carWashInvoice      = new CarWashInvoice(0.1M, 0.2M, packageCost, 0.4M);
            decimal        expectedPackageCost = 0.1M;

            carWashInvoice.PackageCost = 0.1M;
            PrivateObject target            = new PrivateObject(carWashInvoice);
            decimal       actualPackageCost = (decimal)target.GetField("packageCost");

            Assert.AreEqual(expectedPackageCost, actualPackageCost);
        }
Beispiel #24
0
        /// <summary>
        /// Display price on the form.
        /// </summary>
        private void display()
        {
            decimal package   = ((PriceList)(cboPackage.SelectedItem)).Price;
            decimal fragrance = ((PriceList)(cboFragrance.SelectedItem)).Price;

            obj = new CarWashInvoice(PST, GST, package, fragrance);

            displayList(cboPackage.SelectedIndex);
            lblDPsubtotal.Text = String.Format("{0:C}", obj.SubTotal);
            lblDPPST.Text      = String.Format("{0:0.00}", obj.ProvincialSalesTaxCharged);
            lblDPGST.Text      = String.Format("{0:0.00}", obj.GoodsAndServicesTaxCharged);
            lblDPTotal.Text    = String.Format("{0:C}", obj.Total);
        }
        public void GetGoodsAndServicesTaxRate_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m, 500, 500);

            //Act
            decimal expectedGoodsAndServicesTaxRate = 0.1m;

            //Assert
            PrivateObject target = new PrivateObject(carWashInvoice, new PrivateType(typeof(Invoice)));
            decimal       actualGoodsAndServicesTaxRate = (decimal)target.GetField("goodsAndServicesTaxRate");

            Assert.AreEqual(expectedGoodsAndServicesTaxRate, actualGoodsAndServicesTaxRate);
        }
        public void GetFragranceCost_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m, 1000, 1000);

            //Act
            decimal expectedFragranceCost = 1000;

            //Assert
            PrivateObject target = new PrivateObject(carWashInvoice);
            decimal       actualFragranceCost = (decimal)target.GetField("packageCost");

            Assert.AreEqual(expectedFragranceCost, actualFragranceCost);
        }
        public void FragranceCostGet_ReturnState()
        {
            // Arrange
            decimal provincialSalesTaxRate = 0.5M, goodsAndServicesTaxRate = 0.8M, packageCost = 20M, fragranceCost = 40M;

            CarWashInvoice customerCarWashInvoice = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);

            // Act
            decimal actual = customerCarWashInvoice.PackageCost;

            // Assert
            decimal expected = 20;

            Assert.AreEqual(expected, actual);
        }
        public void SetProvincialSalesTaxRate_Test()
        {
            //Arrange
            CarWashInvoice carWashInvoice = new CarWashInvoice(0.2m, 0.1m, 500, 500);

            //Act
            decimal expectedProvincialSalesTaxRate = 0.3m;

            carWashInvoice.ProvincialSalesTaxRate = 0.3m;

            //Assert
            PrivateObject target = new PrivateObject(carWashInvoice, new PrivateType(typeof(Invoice)));
            decimal       actualprovincialSalesTaxRate = (decimal)target.GetField("provincialSalesTaxRate");

            Assert.AreEqual(expectedProvincialSalesTaxRate, actualprovincialSalesTaxRate);
        }
        public void Constructor2_PositiveFragranceCost_ReturnState()
        {
            // Arrange
            decimal provincialSalesTaxRate = 0.5M, goodsAndServicesTaxRate = 0.8M, packageCost = 20M, fragranceCost = 30M;

            CarWashInvoice customerCarWashInvoice = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate, packageCost, fragranceCost);

            PrivateObject target = new PrivateObject(customerCarWashInvoice);

            // Act
            decimal actual = (decimal)target.GetField("fragranceCost");

            // Assert
            decimal expected = 30M;

            Assert.AreEqual(expected, actual);
        }
        public void Constructor1_ZeroGSTRate_ReturnZero()
        {
            // Arrange
            decimal provincialSalesTaxRate = 0M, goodsAndServicesTaxRate = 0M;

            CarWashInvoice customerCarWashInvoice = new CarWashInvoice(provincialSalesTaxRate, goodsAndServicesTaxRate);

            PrivateObject target = new PrivateObject(customerCarWashInvoice);

            // Act
            decimal actual = (decimal)target.GetProperty("GoodsAndServicesTaxRate");

            // Assert
            decimal expected = 0M;

            Assert.AreEqual(expected, actual);
        }