public void TestBuildXorEmpty()
        {
            // Arrange

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

            // Assert
            Assert.That(Value.Of(builder.Items).Count().Is().EqualTo(0), "No of Items");
            Assert.That(Value.Of(specification).Is().TypeOf(Specification.False <T>().GetType()), "Spec = False");
        }
        public void TestBuildXorSingleElement()
        {
            // Arrange
            var spec     = Specification.True <T>();
            var builder1 = new SimpleSpecificationBuilder <T>(() => spec);

            // Act
            var builder = new SpecificationBuilderXor <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");
        }