示例#1
0
 private void PopulateWeightLimit()
 {
     weightLookup = WeightLimit.GetInstance();
     weightLookup.SetModifier(1, 6);
     weightLookup.SetModifier(2, 13);
     weightLookup.SetModifier(3, 20);
     weightLookup.SetModifier(4, 26);
     weightLookup.SetModifier(5, 33);
     weightLookup.SetModifier(6, 40);
     weightLookup.SetModifier(7, 46);
     weightLookup.SetModifier(8, 53);
     weightLookup.SetModifier(9, 60);
     weightLookup.SetModifier(10, 66);
     weightLookup.SetModifier(11, 76);
     weightLookup.SetModifier(12, 86);
     weightLookup.SetModifier(13, 100);
     weightLookup.SetModifier(14, 116);
     weightLookup.SetModifier(15, 133);
     weightLookup.SetModifier(16, 153);
     weightLookup.SetModifier(17, 173);
     weightLookup.SetModifier(18, 200);
     weightLookup.SetModifier(19, 233);
     weightLookup.SetModifier(20, 266);
     weightLookup.SetModifier(21, 306);
     weightLookup.SetModifier(22, 346);
     weightLookup.SetModifier(23, 400);
     weightLookup.SetModifier(24, 466);
     weightLookup.SetModifier(25, 533);
     weightLookup.SetModifier(26, 613);
     weightLookup.SetModifier(27, 693);
     weightLookup.SetModifier(28, 800);
     weightLookup.SetModifier(29, 933);
 }
示例#2
0
        public void ShoudReturnZeroCost_WhenThereIsNoExcessWeight(decimal cost, ParcelSize key, double weight)
        {
            //Arrange
            //The test values are defined on the attribute "InlineDate"

            var testCost = WeightLimit.GetCost(key, weight);

            Assert.Equal(cost, testCost);
        }
示例#3
0
        public void ShoudReturn50_WhenParcelIsBelowLimit()
        {
            var weight = 25d;

            var testCost = WeightLimit.GetHeavyParcelCost(weight);

            var expectedCost = 50;

            Assert.Equal(expectedCost, testCost);
        }
示例#4
0
        public void ShoudReturnTheCostOfAHeavyParcel()
        {
            var weight = 51d;

            var testCost = WeightLimit.GetHeavyParcelCost(weight);

            var expectedCost = 50 + (51 - 50) * 1;

            Assert.Equal(expectedCost, testCost);
        }
示例#5
0
        public void ShoudReturnTheCostOfTheExcessWeight(decimal cost, ParcelSize key, double weight)
        {
            //Arrange
            //The test values are defined on the attribute "InlineDate"

            //Act
            var testCost = WeightLimit.GetCost(key, weight);

            //Assert
            Assert.Equal(cost, testCost);
        }
示例#6
0
        public override int GetHashCode()
        {
            int hashCode = 868850908;

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(StorageGroup);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Specification);

            hashCode = hashCode * -1521134295 + WeightLimit.GetHashCode();
            hashCode = hashCode * -1521134295 + HeightLimit.GetHashCode();
            return(hashCode);
        }
示例#7
0
        public void ShouldCreateAParcelOrderAndSetTheTotalCostWithExtraWeight()
        {
            var length     = 1;
            var width      = 1;
            var heigth     = 1;
            var weight     = 6;
            var testParcel = new Parcel(length, width, heigth, weight);

            var testParcelOrder = new ParcelOrder(testParcel);

            var expectedTotalCost = SizeCost.GetCost(ParcelSize.Small) + WeightLimit.GetCost(ParcelSize.Small, weight);

            Assert.Single(testParcelOrder.Parcels);
            Assert.Equal(expectedTotalCost, testParcelOrder.TotalCost);
            Assert.All(testParcelOrder.Parcels, x =>
            {
                Assert.Equal(expectedTotalCost, x.Cost);
            });
            Assert.Null(testParcelOrder.SpeedyShippingCost);
        }
示例#8
0
        public void ShouldCreateAParcelOrderAndSetTheTotalForAHeavyParcel()
        {
            var length     = 1;
            var width      = 1;
            var heigth     = 1;
            var weight     = 100d;
            var testParcel = new Parcel(length, width, heigth, weight);

            var testParcelOrder = new ParcelOrder(testParcel);

            var expectedTotalCost = WeightLimit.GetHeavyParcelCost(weight);

            Assert.Single(testParcelOrder.Parcels);
            Assert.Equal(expectedTotalCost, testParcelOrder.TotalCost);
            Assert.All(testParcelOrder.Parcels, x =>
            {
                Assert.Equal(expectedTotalCost, x.Cost);
            });
            Assert.Null(testParcelOrder.SpeedyShippingCost);
        }