public void GivenParcelPriceIsBelow20Euros_ParcelShipmentIsNotFree(decimal parcelPrice)
        {
            var postalService  = new PostalService();
            var isFreeShipment = postalService.IsFreeShipment(parcelPrice);

            Assert.Equal(false, isFreeShipment);
        }
            public void GivenParcelPriceIsBelow20Euros_ParcelShipmentIsNotFree(Parcel parcel)
            {
                var postalService  = new PostalService();
                var isFreeShipment = postalService.IsFreeShipment(parcel);

                Check.That(isFreeShipment).IsFalse();
            }
        public void GivenParcelPriceIsEqualOrAbove20Euros_ParcelShipmentFree(decimal parcelPrice)
        {
            var postalService  = new PostalService();
            var isFreeShipment = postalService.IsFreeShipment(parcelPrice);

            Assert.Equal(true, isFreeShipment);
        }
Exemple #4
0
        public void GivenParcelTotalPriceIsBelow20Euro_ThenIsNotEntitledToFreeShipment(
            decimal parcelTotalPrice)
        {
            var postalService            = new PostalService();
            var isEntitledToFreeShipment = postalService.IsFreeShipment(parcelTotalPrice);

            Check.That(isEntitledToFreeShipment).IsFalse();
        }
Exemple #5
0
        public void GivenParcelTotalPriceIsEqualOrAbove20Euro_ThenIsEntitledToFreeShipment(
            decimal parcelTotalPrice)
        {
            var postalService            = new PostalService();
            var isEntitledToFreeShipment = postalService.IsFreeShipment(parcelTotalPrice);

            Check.That(isEntitledToFreeShipment).IsTrue();
        }
            public void GivenParcelPriceIsEqualOrAbove20Euros_ParcelShipmentFree()
            {
                const decimal price = 20;

                var postalService  = new PostalService();
                var isFreeShipment = postalService.IsFreeShipment(price);

                Check.That(isFreeShipment).IsTrue();
            }
            public void GivenParcelPriceIsBelow20Euros_ParcelShipmentIsNotFree()
            {
                const decimal price = 5;

                var postalService  = new PostalService();
                var isFreeShipment = postalService.IsFreeShipment(price);

                Check.That(isFreeShipment).IsFalse();
            }
Exemple #8
0
        public void GivenParcelPriceIsBelow20Euros_ParcelShipmentIsNotFree_Unit()
        {
            var parcel = new Parcel(
                new[]
            {
                new Item(10)
            }
                );
            var postalService  = new PostalService();
            var isFreeShipment = postalService.IsFreeShipment(parcel);

            Assert.Equal(false, isFreeShipment);
        }
Exemple #9
0
        public void USPSThirdClassTest()
        {
            PostalService USPS3 = new PostalService(3);
            double        rate1 = USPS3.CalculateRate(333, 3);
            double        rate2 = USPS3.CalculateRate(333, 333);
            double        rate3 = USPS3.CalculateRate(3, 333);
            double        rate4 = USPS3.CalculateRate(33, 33);

            Assert.AreEqual("$0.73", rate1.ToString("$0.00"));
            Assert.AreEqual("$5.66", rate2.ToString("$0.00"));
            Assert.AreEqual("$0.05", rate3.ToString("$0.00"));
            Assert.AreEqual("$0.50", rate4.ToString("$0.00"));
        }
Exemple #10
0
        public void USPSSecondClassTest()
        {
            PostalService USPS2 = new PostalService(2);
            double        rate1 = USPS2.CalculateRate(3, 333);
            double        rate2 = USPS2.CalculateRate(333, 333);
            double        rate3 = USPS2.CalculateRate(3, 3);
            double        rate4 = USPS2.CalculateRate(333, 3);

            Assert.AreEqual("$0.15", rate1.ToString("$0.00"));
            Assert.AreEqual("$16.65", rate2.ToString("$0.00"));
            Assert.AreEqual("$0.01", rate3.ToString("$0.00"));
            Assert.AreEqual("$1.33", rate4.ToString("$0.00"));
        }
Exemple #11
0
        public void USPSFirstClassTest()
        {
            PostalService USPS1 = new PostalService(1);
            double        rate1 = USPS1.CalculateRate(3, 333);
            double        rate2 = USPS1.CalculateRate(333, 333);
            double        rate3 = USPS1.CalculateRate(3, 3);
            double        rate4 = USPS1.CalculateRate(333, 3);

            Assert.AreEqual("$1.50", rate1.ToString("$0.00"));
            Assert.AreEqual("$166.50", rate2.ToString("$0.00"));
            Assert.AreEqual("$0.12", rate3.ToString("$0.00"));
            Assert.AreEqual("$13.32", rate4.ToString("$0.00"));
        }
Exemple #12
0
        private void ControlEvents_KeyPressed(object sender, EventArgsKeyPressed e)
        {
            if (Context.IsWorldReady)
            {
                Meta.Config = helper.ReadConfig <ModConfig>();
                if (e.KeyPressed.ToString().Equals(Meta.Config.MenuAccessKey))
                {
                    Meta.Console = Monitor;
                    Meta.Lang    = helper.Translation;

                    ItemHandler   itemHandler = new ItemHandler();
                    PostalService menu        = new PostalService(itemHandler);
                    menu.Open();
                }
            }
        }
 public QuestHandler(PostalService menuHandler)
 {
     this.menuHandler = menuHandler;
 }
        public void PSThirdClassTest()
        {
            PostalService thirdClassTest = new PostalService(2, 1, "ThirdClass");

            Assert.AreEqual(2, thirdClassTest.Distance);
            Assert.AreEqual(1, thirdClassTest.Weight);
            Assert.AreEqual("ThirdClass", thirdClassTest.PostalClassType);
            Assert.AreEqual(0, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.01, thirdClassTest.CalculateRate(2, 1));
            Assert.AreEqual(0.0020, thirdClassTest.Rate);
            Assert.AreEqual("Postal Service (3rd Class)", thirdClassTest.DeliveryNameAndType);


            thirdClassTest = new PostalService(-2, -1, "ThirdClass");
            Assert.AreEqual(0, thirdClassTest.Distance);
            Assert.AreEqual(0, thirdClassTest.Weight);
            Assert.AreEqual("ThirdClass", thirdClassTest.PostalClassType);

            thirdClassTest = new PostalService(1, 1, "ThirdClass");
            Assert.AreEqual(1, thirdClassTest.Distance);
            Assert.AreEqual(1, thirdClassTest.Weight);
            Assert.AreEqual("ThirdClass", thirdClassTest.PostalClassType);
            Assert.AreEqual(0, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.01, thirdClassTest.CalculateRate(1, 1));

            //check to verify if different weights and classes were passsed in by the calculate rate method that it returns zero
            Assert.AreEqual(0.0, thirdClassTest.CalculateRate(2, 10));
            Assert.AreEqual(0.0, thirdClassTest.CalculateRate(12, 1));

            thirdClassTest = new PostalService(341, 0, "ThirdClass");
            Assert.AreEqual(0, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.68, thirdClassTest.CalculateRate(341, 0));
            Assert.AreEqual(0.0020, thirdClassTest.Rate);
            thirdClassTest = new PostalService(341, 2, "ThirdClass");
            Assert.AreEqual(0, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.68, thirdClassTest.CalculateRate(341, 2));
            Assert.AreEqual(0.0020, thirdClassTest.Rate);

            thirdClassTest = new PostalService(341, 3, "ThirdClass");
            Assert.AreEqual(1, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.75, thirdClassTest.CalculateRate(341, 3));
            Assert.AreEqual(0.0022, thirdClassTest.Rate);
            thirdClassTest = new PostalService(341, 8, "ThirdClass");
            Assert.AreEqual(1, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.75, thirdClassTest.CalculateRate(341, 8));
            Assert.AreEqual(0.0022, thirdClassTest.Rate);

            thirdClassTest = new PostalService(341, 9, "ThirdClass");
            Assert.AreEqual(2, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.82, thirdClassTest.CalculateRate(341, 9));
            Assert.AreEqual(0.0024, thirdClassTest.Rate);
            thirdClassTest = new PostalService(341, 15, "ThirdClass");
            Assert.AreEqual(2, thirdClassTest.WeightCategory);
            Assert.AreEqual(0.82, thirdClassTest.CalculateRate(341, 15));
            Assert.AreEqual(0.0024, thirdClassTest.Rate);

            thirdClassTest = new PostalService(341, 16, "ThirdClass");
            Assert.AreEqual(3, thirdClassTest.WeightCategory);
            Assert.AreEqual(5.12, thirdClassTest.CalculateRate(341, 16));
            Assert.AreEqual(0.0150, thirdClassTest.Rate);
            thirdClassTest = new PostalService(341, 48, "ThirdClass");
            Assert.AreEqual(3, thirdClassTest.WeightCategory);
            Assert.AreEqual(5.12, thirdClassTest.CalculateRate(341, 48));
            Assert.AreEqual(0.0150, thirdClassTest.Rate);

            thirdClassTest = new PostalService(341, 49, "ThirdClass");
            Assert.AreEqual(4, thirdClassTest.WeightCategory);
            Assert.AreEqual(5.46, thirdClassTest.CalculateRate(341, 49));
            Assert.AreEqual(0.0160, thirdClassTest.Rate);
            thirdClassTest = new PostalService(341, 128, "ThirdClass");
            Assert.AreEqual(4, thirdClassTest.WeightCategory);
            Assert.AreEqual(5.46, thirdClassTest.CalculateRate(341, 128));
            Assert.AreEqual(0.0160, thirdClassTest.Rate);

            thirdClassTest = new PostalService(341, 129, "ThirdClass");
            Assert.AreEqual(5, thirdClassTest.WeightCategory);
            Assert.AreEqual(5.80, thirdClassTest.CalculateRate(341, 129));
            Assert.AreEqual(0.0170, thirdClassTest.Rate);
            thirdClassTest = new PostalService(341, 229, "ThirdClass");
            Assert.AreEqual(5, thirdClassTest.WeightCategory);
            Assert.AreEqual(5.80, thirdClassTest.CalculateRate(341, 229));
            Assert.AreEqual(0.0170, thirdClassTest.Rate);

            //public PostalService(int distance, double weight, string postalClassType)
            //public double CalculateRate(int distance, double weight)

            //               |1st Class| 2nd Class  | 3rd Class |
            //|categ |Ounces |Per Mile | Per Mile   | Per Mile |
            //|------| ------| --------| -----------| -----------|
            //|0 cat | 0 - 2 |   0.035 | 0.0035     | 0.0020 |
            //|1 cat | 3 - 8 |   0.040 | 0.0040     | 0.0022 |
            //|2 cat | 9 - 15|   0.047 | 0.0047     | 0.0024 |
            //|3 cat |16 - 48 |  0.195 | 0.0195     | 0.0150 |
            //|4 cat | 49-128 |  0.450 | 0.0450     | 0.0160 |
            //|5 cat | 129+   |  0.500 | 0.0500     | 0.0170
        }