public void AddConcreteMixedTypeAttribute(IMutableMember member, ClassContext classContext, IEnumerable <Type> orderedMixinTypes)
        {
            ArgumentUtility.CheckNotNull("member", member);
            ArgumentUtility.CheckNotNull("classContext", classContext);
            ArgumentUtility.CheckNotNull("orderedMixinTypes", orderedMixinTypes);

            var attributeData = ConcreteMixedTypeAttribute.FromClassContext(classContext, orderedMixinTypes.ToArray());
            var attribute     = new CustomAttributeDeclaration(
                s_concreteMixedTypeAttributeConstructor, new object[] { attributeData.ClassContextData, attributeData.OrderedMixinTypes });

            member.AddCustomAttribute(attribute);
        }
Ejemplo n.º 2
0
        public void GetMetadataForMixedType()
        {
            var classContext1 = ClassContextObjectMother.Create(typeof(object));

            var attribute1 = ConcreteMixedTypeAttribute.FromClassContext(classContext1, new Type[0]);

            var typeMock = MockRepository.GenerateMock <_Type> ();

            typeMock.Expect(mock => mock.GetCustomAttributes(typeof(ConcreteMixedTypeAttribute), false)).Return(new[] { attribute1 });
            typeMock.Replay();

            var importer = new AttributeBasedMetadataImporter();
            var result   = importer.GetMetadataForMixedType(typeMock);

            Assert.That(result, Is.EqualTo(classContext1));

            typeMock.VerifyAllExpectations();
        }
Ejemplo n.º 3
0
 private ConcreteMixedTypeAttribute CreateAttribute(ClassContext context)
 {
     return(ConcreteMixedTypeAttribute.FromClassContext(context, context.Mixins.Select(m => m.MixinType).ToArray()));
 }