Example #1
0
        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));
        }