public void TestBuildSimpleSpec()
        {
            // Arrange
            var spec = Specification.True <T>();

            // Act
            var builder       = new SimpleSpecificationBuilder <T>(() => spec);
            var specification = builder.Build();

            // Assert
            Assert.That(Value.Of(specification).Is().ReferenceEqualTo(spec), "Correct spec");
        }
        public void TestBuildAndSingleElement()
        {
            // Arrange
            var spec     = Specification.True <T>();
            var builder1 = new SimpleSpecificationBuilder <T>(() => spec);

            // Act
            var builder = new SpecificationBuilderAnd <T>()
                          .Add(builder1);
            var specification = builder.Build();

            // Assert
            Assert.That(Value.Of(builder.Items).Count().Is().EqualTo(1), "No of Items");
            Assert.That(Value.Of(specification).Is().ReferenceEqualTo(spec), "Correct spec");
        }