コード例 #1
0
        public void WhenOneFullSet_AndTwoPartialSets_ThenTwoSets()
        {
            var books = new List <Book>()
            {
                new Book(1, "Book 1", priceOfOneBook),
                new Book(1, "Book 1", priceOfOneBook),
                new Book(2, "Book 2", priceOfOneBook),
                new Book(2, "Book 2", priceOfOneBook),
                new Book(3, "Book 3", priceOfOneBook),
                new Book(3, "Book 3", priceOfOneBook),
                new Book(4, "Book 4", priceOfOneBook),
                new Book(5, "Book 5", priceOfOneBook)
            };

            var splitterOptions = new SetSplitterOptions
            {
                MaximumSetSize = 100
            };

            var splitter = new SetSplitter(splitterOptions);

            var result = splitter.Split(books);

            Assert.AreEqual(2, result.Count);
        }
コード例 #2
0
        public void WhenThreeDifferentBooks_ThenOneSet()
        {
            var books = new List <Book>()
            {
                new Book(1, "Book 1", priceOfOneBook),
                new Book(2, "Book 2", priceOfOneBook),
                new Book(3, "Book 3", priceOfOneBook)
            };

            var splitterOptions = new SetSplitterOptions
            {
                MaximumSetSize = 100
            };

            var splitter = new SetSplitter(splitterOptions);
            var result   = splitter.Split(books);

            Assert.AreEqual(1, result.Count);
        }
コード例 #3
0
        public void WithBoundedSetSizeOf1_ThenThreeDifferentBooks_IsThreeDifferentSets(int setSize, int expectedSplitCount)
        {
            var books = new List <Book>()
            {
                new Book(1, "Book 1", priceOfOneBook),
                new Book(2, "Book 2", priceOfOneBook),
                new Book(3, "Book 3", priceOfOneBook),
                new Book(4, "Book 4", priceOfOneBook),
                new Book(5, "Book 5", priceOfOneBook)
            };

            var splitterOptions = new SetSplitterOptions
            {
                MaximumSetSize = setSize
            };

            var splitter = new SetSplitter(splitterOptions);
            var result   = splitter.Split(books);

            Assert.AreEqual(expectedSplitCount, result.Count);
        }