public void ShouldBuildAbstractTypeAndGenerateGetterAndSetter() { AbstractMockObject actual = builder.BuildAssemblyFromType <AbstractMockObject>(typeof(AbstractMockObject), null); actual.FirstName = "firstname"; Assert.AreEqual("firstname", actual.FirstName); }
public void ShouldConstructAndOverrideAbstractMethods() { AbstractMockObject mock = ConstructDiscreteHelper <AbstractMockObject>(); try { mock.FindEmployer("test"); } catch (Exception) { } }
public void ShouldBeAbleToCallAbstractProperties() { AbstractMockObject mock = ConstructDiscreteHelper <AbstractMockObject>(); PropertyInfo property = mock.GetType().GetProperty("__MiddleName"); property.GetSetMethod().Invoke(mock, new Object[1] { "middleName" }); Assert.AreEqual("middleName", mock.GetMiddleName()); }
public void ShouldBeAbleToCallAbstractMethodsAndBeImplementedByAnAttribute() { AbstractMockObject mock = ConstructDiscreteHelper <AbstractMockObject>(); Decorator decorator = new ObjectDecorator(new ObjectInstantiator()); decorator.Decorate <AbstractMockObject>(mock); Assert.AreEqual("The Next Employer", mock.TestGetEmployer()); Assert.AreEqual("MyName 1", mock.GetTitleAndPosition("MyName", 1)); Assert.AreEqual((-3 - 5 - 7 - 2), mock.Subtract(3, 5, 7, 2)); Assert.AreEqual((3 + 5 + 7 + 2), mock.Add(3, 5, 7, 2)); Assert.AreEqual(0, mock.GetZero()); }
public void ShouldConstructWithDiscretPropertiesIfNeeded() { AbstractMockObject mock = ConstructDiscreteHelper <AbstractMockObject>(); PropertyInfo property = mock.GetType().GetProperty("__LastName"); mock.LastName = "sampleValue"; Assert.AreEqual("sampleValue", property.GetGetMethod().Invoke(mock, null)); property = mock.GetType().GetProperty("__MiddleName"); property.GetSetMethod().Invoke(mock, new Object[1] { "middleName" }); Assert.AreEqual("middleName", mock.MiddleName); property = mock.GetType().GetProperty("__FirstName"); Assert.IsNull(property); }