public void GetAttributes_AddRequiredAttribute_AdditionalAttributeReturned() { /* ARRANGE */ var config = new LambdaDynamicTypeConfiguration<TestModel>(); // empty configuration config.AddAttribute(() => new RequiredAttribute()); var descriptor = new LambdaTypeDescriptor(config); /* ACT */ AttributeCollection attributes = descriptor.GetAttributes(); /* ASSERT */ Assert.AreEqual(3, attributes.Count); // Serializable Attribute attribute = attributes[0]; Assert.IsInstanceOf<SerializableAttribute>(attribute); // MetadataType attribute = attributes[1]; Assert.IsInstanceOf<MetadataTypeAttribute>(attribute); var metadataAttribute = (MetadataTypeAttribute) attribute; Assert.IsTrue(typeof (TestModelWithPropertyBag) == metadataAttribute.MetadataClassType); attribute = attributes[2]; Assert.IsInstanceOf<RequiredAttribute>(attribute); }
public void GetAttributes_MetadataTypeAttributeInConfiguration_AttributeNotReturned() { /* ARRANGE */ var config = new LambdaDynamicTypeConfiguration<TestModel>(); // empty configuration config.RemoveAttribute(typeof (MetadataTypeAttribute)); var descriptor = new LambdaTypeDescriptor(config); /* ACT */ AttributeCollection attributes = descriptor.GetAttributes(); /* ASSERT */ Assert.IsTrue(attributes.Count == 1); // Serializable Attribute attribute = attributes[0]; Assert.IsInstanceOf<SerializableAttribute>(attribute); }
public void GetAttributes_EmptyConfiguration_ReturnsExistingModelAttributes() { /* ARRANGE */ var config = new LambdaDynamicTypeConfiguration<TestModel>(); // empty configuration var descriptor = new LambdaTypeDescriptor(config); /* ACT */ AttributeCollection attributes = descriptor.GetAttributes(); /* ASSERT */ Assert.IsTrue(attributes.Count == 2); // Serializable Attribute attribute = attributes[0]; Assert.IsInstanceOf<SerializableAttribute>(attribute); // MetadataType attribute = attributes[1]; Assert.IsInstanceOf<MetadataTypeAttribute>(attribute); var metadataAttribute = (MetadataTypeAttribute) attribute; Assert.IsTrue(typeof (TestModelWithPropertyBag) == metadataAttribute.MetadataClassType); }