public void AddMixinDependency_Generic()
        {
            _classBuilderMock.Expect(mock => mock.AddMixinDependency <BT2Mixin1, int> ()).CallOriginalMethod(OriginalCallOptions.CreateExpectation);
            _classBuilderMock.Expect(mock => mock.AddMixinDependency(typeof(BT2Mixin1), typeof(int))).Return(_classBuilderMock);

            _mockRepository.Replay(_classBuilderMock);
            Assert.That(_classBuilderMock.AddMixinDependency <BT2Mixin1, int>(), Is.SameAs(_classBuilderMock));
            _mockRepository.Verify(_classBuilderMock);
        }
        public void AddMixinDependency_NonGeneric()
        {
            var result = _classBuilder.AddMixinDependency(typeof(BT1Mixin1), typeof(int));

            Assert.That(result, Is.SameAs(_classBuilder));

            _classBuilder.AddMixinDependency(typeof(BT1Mixin1), typeof(float));
            _classBuilder.AddMixinDependency(typeof(BT1Mixin2), typeof(double));

            Assert.That(_classBuilder.MixinDependencies.Count(), Is.EqualTo(2));

            var mixinDependencySpecification1 = _classBuilder.MixinDependencies.Single(dep => dep.MixinType == typeof(BT1Mixin1));

            Assert.That(mixinDependencySpecification1.Dependencies, Is.EqualTo(new[] { typeof(int), typeof(float) }));

            var mixinDependencySpecification2 = _classBuilder.MixinDependencies.Single(dep => dep.MixinType == typeof(BT1Mixin2));

            Assert.That(mixinDependencySpecification2.Dependencies, Is.EqualTo(new[] { typeof(double) }));
        }