public void TestIfItSetsParentFieldOnCommandWhenItMatchesTheParentType() { // Arrange var parentMock = new Mock<Parent>(); var target = new ItsAssertable<Parent, Child>(p => p.Child); // Act target.Command(parentMock.Object); // Assert Assert.AreEqual(parentMock.Object, target.GetFieldValue("mParent")); }
public void TestIfIgnoresTheCommandWhenItDoesntMatchTheParentType() { // Arrange var wrongMock = new Mock<Child>(); var target = new ItsAssertable<Parent, Child>(p => p.Child); // Act target.Command(wrongMock.Object); // Assert Assert.IsNull(target.GetFieldValue("mParent")); }
public void TestIfOnTargetGetItUsesTheFuncOnTheParentField() { // Arrange var parentMock = new Mock<Parent>(); var target = new ItsAssertable<Parent, Child>(p => p.Child); target.SetFieldValue("mParent", parentMock.Object); // Act var result = target.Target; // Assert parentMock.VerifyGet(m => m.Child, Times.Once()); }