private ConcreteMixinTypeIdentifier GetConcreteMixinIdentifier(MixinWithAbstractMembers mixin) { Assert.That(mixin, Is.AssignableTo <IGeneratedMixinType>()); var attribute = (ConcreteMixinTypeAttribute)mixin.GetType().GetCustomAttributes(typeof(ConcreteMixinTypeAttribute), false).Single(); return(attribute.GetIdentifier()); }
public void GeneratedTypeIsDeserializable() { ClassOverridingMixinMembers targetInstance = CreateMixedObject <ClassOverridingMixinMembers> (typeof(MixinWithAbstractMembers)); var mixin = Mixin.Get <MixinWithAbstractMembers> (targetInstance); mixin.I = 13; MixinWithAbstractMembers mixinA = Serializer.SerializeAndDeserialize(mixin); Assert.That(mixinA.I, Is.EqualTo(mixin.I)); Assert.That(mixinA, Is.Not.SameAs(mixin)); }