public void TestCreateChildrenShouldNotAddNullNodeIfColumnHasNoNulls()
        {
            var column  = new ColumnBuilder().WithValue(string.Empty).Build();
            var root    = new StringFilterTreeRoot(string.Empty, column);
            var results = root.CreateChildren();

            Assert.That(results.FirstOrDefault() is NullFilterTreeLeaf, Is.False);
        }
        public void TestCreateShouldReturnLeavesAfterMaxDepthOfThree()
        {
            var values = CreateDeepValues('A', 20, 4);
            var column = new ColumnBuilder().WithValues(values).Build();
            var root   = new StringFilterTreeRoot(string.Empty, column);
            var node1  = root.CreateChildren().Single();
            var node2  = node1.CreateChildren().Single();
            var node3  = node2.CreateChildren().Single();
            var result = node3.CreateChildren();

            Assert.That(result.All(p => p is StringFilterTreeLeaf));
        }