public void Function1(Child obj) { m_invokeVersion = EnumInvokeVersion.CHILD_CALLED; }
public void TestChildren() { Child[] children = new Child[] { new Child(), new Child() }; Verify(children,EnumInvokeVersion.CHILD_CALLED); }
public void TestVirtualOverride() { #region [parent version called] Utility parm1 = new Utility(); Assert.AreEqual(EnumInvokeVersion.UNDEFINED, parm1.InvokeVersion); Parent parentObj = new Parent(); parentObj.Method1(parm1); Assert.AreEqual(EnumInvokeVersion.PARENT_CALLED, parm1.InvokeVersion); #endregion #region [child version called] Utility parm2 = new Utility(); Child childObj = new Child(); childObj.Method1(parm2); Assert.AreEqual(EnumInvokeVersion.CHILD_CALLED, parm2.InvokeVersion); #endregion }
public void TestOverload() { Child child1 = new Child(); Assert.IsInstanceOf<Parent>(child1); Utility helper4Child = new Utility(); // it will call the method with exact parameter type, will not cast to its base class version helper4Child.Function1(child1); Assert.AreEqual(EnumInvokeVersion.CHILD_CALLED, helper4Child.InvokeVersion); Utility helper4Parent = new Utility(); // if you want to call the base version, you need explicit cast helper4Parent.Function1((Parent)child1); Assert.AreEqual(EnumInvokeVersion.PARENT_CALLED, helper4Parent.InvokeVersion); }
public void TestIs() { object obj = new Child(); Assert.IsTrue(obj is Parent); Assert.IsTrue(obj is Child); }
public void TestAssignableInNUnit() { Parent parentObj = new Parent(); Child childObj = new Child(); Assert.IsInstanceOf<Parent>(parentObj); Assert.IsNotInstanceOf<Child>(parentObj); Assert.IsAssignableFrom<Parent>(parentObj); Assert.IsAssignableFrom<Child>(parentObj); Assert.IsInstanceOf<Child>(childObj); Assert.IsInstanceOf<Parent>(childObj); Assert.IsAssignableFrom<Child>(childObj); Assert.IsNotAssignableFrom<Parent>(childObj); }