private static void CanSetDefaultValueForMemberType <TPropertyType>(Models.MemberType memberType, string propertyName) { var contentTypeMock = new Mock <IMemberType>(); contentTypeMock.Setup(m => m.Alias).Returns(memberType.GetType().Name.Alias()); var contentMock = new Mock <IMember>(); contentMock.Setup(m => m.ContentType).Returns(contentTypeMock.Object); new DefaultValueService(GetTypeResolverMock(memberType.GetType()).Object, new Mock <ITypeRepository>().Object).SetDefaultValues(contentMock.Object); contentMock.Verify(m => m.SetValue(propertyName.Alias(), GetPropertyDefaultValue <TPropertyType>(memberType.GetType(), propertyName))); }
public void CanGetFloatingBinaryPointProperty() { var member = new Models.MemberType(); var memberType = new MemberType(member.GetType()); var property = memberType.Properties.First(p => p.Name == GetPropertyName(() => member.FloatingBinaryPointProperty)); Assert.AreSame(typeof(float), property.Type); }
public void CanGetIntegerProperty() { var member = new Models.MemberType(); var memberType = new MemberType(member.GetType()); var property = memberType.Properties.First(p => p.Name == GetPropertyName(() => member.IntegerProperty)); Assert.AreSame(typeof(int), property.Type); }
public void CannotGetPrivateProperty() { var member = new Models.MemberType(); var memberType = new MemberType(member.GetType()); var property = memberType.Properties.FirstOrDefault(p => p.Name == "PrivateStringProperty"); Assert.IsNull(property); }
public void CannotGetPropertyWithoutSetter() { var member = new Models.MemberType(); var memberType = new MemberType(member.GetType()); var property = memberType.Properties.FirstOrDefault(p => p.Name == GetPropertyName(() => member.StringPropertyWithoutSetter)); Assert.IsNull(property); }
public void CannotGetNonScaffoldedProperty() { var member = new Models.MemberType(); var memberType = new MemberType(member.GetType()); var property = memberType.Properties.FirstOrDefault(p => p.Name == GetPropertyName(() => member.NonScaffoldedStringProperty)); Assert.IsNull(property); }