Beispiel #1
0
        public void handles_ship_alone()
        {
            // line items with SizeTier "G" will all ship alone

            // Arrange
            var lines = new List <LineItem>
            {
                BuildLine(quantity: 3, shipWeight: 3, SizeTier.G),
                BuildLine(quantity: 1, shipWeight: 3, SizeTier.G)
            };

            // Act
            var packages = SmartPackageMapper.MapLineItemsIntoPackages(lines);

            // Assert
            Assert.AreEqual(4, packages.Count);
        }
Beispiel #2
0
        public void handles_all_lines_shipping_together_legacy()
        {
            // line items with SizeTier not equal to "G" will all ship together

            // Arrange
            var lines = new List <LineItem>
            {
                BuildLine(quantity: 1, shipWeight: 5, SizeTier.A),
                BuildLine(quantity: 1, shipWeight: 5, SizeTier.A),
                BuildLine(quantity: 1, shipWeight: 5, SizeTier.A),
                BuildLine(quantity: 1, shipWeight: 5, SizeTier.A),
                BuildLine(quantity: 1, shipWeight: 5, SizeTier.A),
                BuildLine(quantity: 1, shipWeight: 5, SizeTier.A)
            };

            // Act
            var packages = SmartPackageMapper.MapLineItemsIntoPackages(lines);

            // Assert
            Assert.AreEqual(3, packages.Count);

            var package1 = packages[0];

            Assert.AreEqual(11, package1.length);
            Assert.AreEqual(11, package1.width);
            Assert.AreEqual(11, package1.height);
            Assert.AreEqual(10, package1.weight);

            var package2 = packages[1];

            Assert.AreEqual(11, package2.length);
            Assert.AreEqual(11, package2.width);
            Assert.AreEqual(11, package2.height);
            Assert.AreEqual(10, package2.weight);

            var package3 = packages[2];

            Assert.AreEqual(11, package3.length);
            Assert.AreEqual(11, package3.width);
            Assert.AreEqual(11, package3.height);
            Assert.AreEqual(10, package3.weight);
        }