public void BuildContext_ReplaceParentContext() { var classContextBuilder = new ClassContextBuilder(_parentBuilderMock, typeof(BaseType2)); classContextBuilder.Clear().AddMixins <BT1Mixin1, BT1Mixin2> (); var parentContext = ClassContextObjectMother.Create(typeof(BaseType2), typeof(BT2Mixin1)); ClassContext builtContext = classContextBuilder.BuildClassContext(new[] { parentContext }); Assert.That(builtContext.Mixins.Count, Is.EqualTo(2)); Assert.That(builtContext.Mixins.ContainsKey(typeof(BT1Mixin1)), Is.True); Assert.That(builtContext.Mixins.ContainsKey(typeof(BT1Mixin2)), Is.True); }
public void Clear() { var classBuilder = new ClassContextBuilder(_parentBuilderMock, typeof(BaseType1)); classBuilder.AddMixin <BT1Mixin2> (); classBuilder.AddComposedInterface <IBaseType31> (); Assert.That(classBuilder.MixinContextBuilders, Is.Not.Empty); Assert.That(classBuilder.ComposedInterfaces, Is.Not.Empty); Assert.That(classBuilder.SuppressInheritance, Is.False); Assert.That(classBuilder.Clear(), Is.SameAs(classBuilder)); Assert.That(classBuilder.MixinContextBuilders, Is.Empty); Assert.That(classBuilder.ComposedInterfaces.ToArray(), Is.Empty); Assert.That(classBuilder.SuppressInheritance, Is.True); }
public void BuildContext_SuppressedInheritance() { ClassContext inheritedContext = new ClassContextBuilder(typeof(BaseType2)) .AddMixin(typeof(BT3Mixin1)) .AddComposedInterface(typeof(BT1Mixin2)) .BuildClassContext(); _classBuilder.Clear(); _classBuilder.AddMixins <BT1Mixin1, BT1Mixin2> (); _classBuilder.AddComposedInterfaces <IBT6Mixin1, IBT6Mixin2> (); ClassContext builtContext = _classBuilder.BuildClassContext(new[] { inheritedContext }); Assert.That(builtContext.Mixins.Count, Is.EqualTo(2)); Assert.That(builtContext.Mixins.ContainsKey(typeof(BT1Mixin1)), Is.True); Assert.That(builtContext.Mixins.ContainsKey(typeof(BT1Mixin2)), Is.True); Assert.That(builtContext.ComposedInterfaces.Count, Is.EqualTo(2)); Assert.That(builtContext.ComposedInterfaces, Has.Member(typeof(IBT6Mixin1))); Assert.That(builtContext.ComposedInterfaces, Has.Member(typeof(IBT6Mixin2))); }