public void TestIfTargetIsCorrectlyConnected()
        {
            // Arrange
              object verified = new Object();
              IVerifiable<string> mock = new Mock<IVerifiable<string>>().Object;

              // Act
              var target = new AndConnector<object, string>(mock, verified);

              // Assert
              Assert.AreEqual(target.Target, verified);
        }
        public void TestIfConstructorSetupsFields()
        {
            // Arrange
              object verified = new Object();
              IVerifiable<string> mock = new Mock<IVerifiable<string>>().Object;

              // Act
              var target = new AndConnector<object, string>(mock, verified);

              // Assert
              Assert.AreEqual(target.GetFieldValue("mLeftPredicament"), mock);
              Assert.AreEqual(target.GetFieldValue("mTarget"), verified);
        }
        public void TestIfTestIfNowCallsLeftPredicament()
        {
            // Arrange
              var verifiable = new Mock<IVerifiable<string>>();
              verifiable.Setup(l => l.Now())
                .Verifiable("Se debió mandar llamar Now() en el predicamento");
              var mock = verifiable.Object;
              var target = new AndConnector<object, string>(mock, new object());

              // Act
              (target as IVerifiable<object>).Now();

              // Assert
              verifiable.Verify();
        }