public void AddMixins()
        {
            var mixinContext1 = MixinContextObjectMother.Create(mixinType: typeof(string), origin: MixinContextOriginObjectMother.Create(assembly: GetType().Assembly));
            var mixinContext2 = MixinContextObjectMother.Create(mixinType: typeof(object));

            _serializer.AddMixins(new[] { mixinContext1, mixinContext2 });

            // Check that the chain of serializers correctly sets up the AttributeMixinContextOriginSerializer
            var serializedMixinContexts       = ((object[])_serializer.Values[1]);
            var serializedMixinContext1       = (object[])serializedMixinContexts[1];
            var serializedMixinOrigin         = (object[])serializedMixinContext1[4];
            var serializedMixinOriginAssembly = serializedMixinOrigin[1];

            Assert.That(serializedMixinOriginAssembly, Is.EqualTo(GetType().Assembly.FullName));

            var deserializer = new AttributeClassContextDeserializer(_serializer.Values);

            Assert.That(deserializer.GetMixins().ToArray(), Is.EqualTo(new[] { mixinContext1, mixinContext2 }));
        }
 public void GetMixins_Invalid()
 {
     _invalidDeserializer.GetMixins();
 }