Exemplo n.º 1
0
        public static MutableType AddNestedType(
            this MutableType mutableType, string name = null, TypeAttributes attributes = TypeAttributes.NestedPublic, Type baseType = null)
        {
            name     = name ?? "NestedType_" + ++s_counter;
            baseType = baseType ?? typeof(object);

            return(mutableType.AddNestedType(name, attributes, baseType));
        }
        private MutableType CreateNextCallProxyType(MutableType concreteTarget, TargetClassDefinition targetClassDefinition)
        {
            var attributes    = TypeAttributes.NestedPublic | TypeAttributes.Sealed;
            var nextCallProxy = concreteTarget.AddNestedType("NextCallProxy", attributes, typeof(object));

            AddRequiredInterfaces(nextCallProxy, targetClassDefinition);

            return(nextCallProxy);
        }
        public static OverrideInterfaceGenerator CreateNestedGenerator(MutableType outerType, string typeName)
        {
            ArgumentUtility.CheckNotNull("outerType", outerType);
            ArgumentUtility.CheckNotNullOrEmpty("typeName", typeName);

            var interfaceType = outerType.AddNestedType(typeName, TypeAttributes.Interface | TypeAttributes.NestedPublic | TypeAttributes.Abstract, null);

            return(new OverrideInterfaceGenerator(interfaceType));
        }
        public void CreateNestedTypeGenerators()
        {
            var nestedType = _mutableType.AddNestedType();

            PopulateContext(_generator, 1);

            var nestedCodeGeneratorStub = new Mock <IMutableTypeCodeGenerator>();

            _nestedTypeCodeGeneratorFactoryMock.Setup(mock => mock.Create(_typeBuilderMock.Object, nestedType)).Returns(nestedCodeGeneratorStub.Object).Verifiable();

            var result = _generator.CreateNestedTypeGenerators().ForceEnumeration();

            _nestedTypeCodeGeneratorFactoryMock.Verify();
            Assert.That(result, Is.EqualTo(new[] { nestedCodeGeneratorStub.Object }));
        }
Exemplo n.º 5
0
        public void CreateNestedTypeGenerators()
        {
            var nestedType = _mutableType.AddNestedType();

            PopulateContext(_generator, 1);

            var nestedCodeGeneratorStub = _mockRepository.Stub <IMutableTypeCodeGenerator>();

            _nestedTypeCodeGeneratorFactoryMock.Expect(mock => mock.Create(_typeBuilderMock, nestedType)).Return(nestedCodeGeneratorStub);
            _mockRepository.ReplayAll();

            var result = _generator.CreateNestedTypeGenerators().ForceEnumeration();

            _mockRepository.VerifyAll();
            Assert.That(result, Is.EqualTo(new[] { nestedCodeGeneratorStub }));
        }