public void SetUp() { _classContextBuilderWithParent = new ClassContextBuilder(typeof(NullTarget)); _classContextBuilderWithParent.AddMixin(typeof(NullMixin2)); _parentContextWithBuilder = ClassContextObjectMother.Create(typeof(NullTarget), typeof(NullMixin)); _classContextBuilderWithIndirectParent = new ClassContextBuilder(typeof(DerivedNullTarget)); _classContextBuilderWithoutParent = new ClassContextBuilder(typeof(BaseType4)); _classContextBuilderWithParent.AddMixin(typeof(BT4Mixin1)); _buildersWithParentContexts = new Dictionary <Type, Tuple <ClassContextBuilder, ClassContext> > (); _buildersWithParentContexts.Add(_classContextBuilderWithParent.TargetType, Tuple.Create(_classContextBuilderWithParent, _parentContextWithBuilder)); _buildersWithParentContexts.Add(_classContextBuilderWithoutParent.TargetType, Tuple.Create(_classContextBuilderWithoutParent, (ClassContext)null)); _parentContextWithoutBuilder = ClassContextObjectMother.Create(typeof(BaseType1)); _parentContexts = new ClassContextCollection(_parentContextWithoutBuilder, _parentContextWithBuilder); _inheritancePolicyMock = MockRepository.GenerateMock <IMixinInheritancePolicy> (); _inheritedContext = ClassContextObjectMother.Create(typeof(object), typeof(NullMixin)); var classContextBuilders = new[] { _classContextBuilderWithoutParent, _classContextBuilderWithIndirectParent, _classContextBuilderWithParent }; _builder = new InheritanceResolvingClassContextBuilder(classContextBuilders, _parentContexts, _inheritancePolicyMock); }
public void AddMixin_NonGeneric_WithoutOrigin() { var expectedOrigin = MixinContextOrigin.CreateForMethod(MethodBase.GetCurrentMethod()); _classBuilderMock.Expect(mock => mock.AddMixin(typeof(BT2Mixin1), expectedOrigin)).Return(_mixinBuilderMock); _mockRepository.Replay(_classBuilderMock); Assert.That(_classBuilderMock.AddMixin(typeof(BT2Mixin1)), Is.SameAs(_mixinBuilderMock)); _mockRepository.Verify(_classBuilderMock); }
public void AddMixin_NonGeneric() { var origin = MixinContextOriginObjectMother.Create(); MixinContextBuilder mixinBuilder = _classBuilder.AddMixin(typeof(BT2Mixin1), origin); Assert.That(mixinBuilder.MixinType, Is.SameAs(typeof(BT2Mixin1))); Assert.That(mixinBuilder.Parent, Is.SameAs(_classBuilder)); Assert.That(mixinBuilder.Origin, Is.SameAs(origin)); Assert.That(_classBuilder.MixinContextBuilders, Has.Member(mixinBuilder)); }
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); }