public void AndReturnsAndSpecification()
        {
            var compositeSpecification = new Mock<CompositeSpecification<object>>().Object;
            var otherSpeicfication = new Mock<ISpecification<object>>().Object;
            ISpecification<object> andSpecification = compositeSpecification.And(otherSpeicfication);

            Assert.IsInstanceOf<AndSpecification<object>>(andSpecification);
        }
        public void TestIfAndCanConnectAPredicament()
        {
            // Arrange
              var mock = new Mock<IVerifiable<string>>().Object;
              object connected = new object();

              // Act
              var result = mock.And(connected);

              // Assert
              Assert.IsInstanceOf(typeof(AndConnector<object, string>), result);
              Assert.AreEqual(result.GetFieldValue("mLeftPredicament"), mock);
              Assert.AreEqual(result.Target, connected);
        }