public void TestOptimizedFitTwentyDimensions()
        {
            var input    = new uint[] { 180598, 125683, 146932, 158296, 171997, 204683, 193694, 216231, 177673, 169317, 216456, 220003, 165939, 205613, 152779, 177216, 128838, 126894, 210076, 148407, 1984, 2122, 1760, 2059, 1278, 2017, 1443, 2223, 2169, 1502, 1274, 1740, 1740, 1768, 1295, 1916, 2249, 2036, 1886, 2010 };
            var expected = BigInteger.Parse("4281855455197643306306491981973422080000");
            var actual   = new CratePacker().FitOptimized(input);

            Assert.Equal(expected, actual);
        }
        public void TestFitTwoDimensions(uint[] input, uint expected)
        {
            var actual = new CratePacker().Fit(input);

            Assert.Equal(expected, actual);
        }
        public void TestOptimizedFitThreeDimensions(IEnumerable <uint> input, uint expected)
        {
            var actual = new CratePacker().FitOptimized(input);

            Assert.Equal(expected, actual);
        }