예제 #1
0
 public void SetUp()
 {
     m_Factory = new ConventionObjectFactory(
         module: base.Module,
         transientConventionsFactory: context => new IObjectFactoryConvention[] {
         new TestNameConvention(this),
         new CallTargetConvention(),
     });
 }
        public void SetUp()
        {
            var factory = new ConventionObjectFactory(
                module: base.Module,
                transientConventionsFactory: context => new IObjectFactoryConvention[] {
                new ApiContractWrapperConvention()
            });

            m_Component          = new TestComponent();
            m_ApiContractWrapper = factory.CreateInstanceOf <ITestComponent>().UsingConstructor <ITestComponent>(m_Component);

            m_ExpectedExceptionParamName = null;
            m_ExpectedExceptionLog       = null;
        }
        public void CanChangeBaseType()
        {
            //-- Arrange

            var factory = new ConventionObjectFactory(
                base.Module,
                new ClassNameConvention(TestCaseClassName),
                new BaseTypeConvention(typeof(AncestorRepository.BaseOne)),
                new DefaultConstructorConvention());

            //-- Act

            var obj = factory.CreateInstanceOf <AncestorRepository.BaseOne>().UsingDefaultConstructor();

            //-- Assert

            Assert.That(obj.GetType().BaseType, Is.EqualTo(typeof(AncestorRepository.BaseOne)));
        }
        public void CanChangeClassName()
        {
            //-- Arrange

            var factory = new ConventionObjectFactory(
                base.Module,
                new ClassNameConvention(TestCaseClassName),
                new DefaultConstructorConvention(),
                new AutomaticPropertyConvention());

            //-- Act

            var obj = factory.CreateInstanceOf <AncestorRepository.IFewReadWriteProperties>().UsingDefaultConstructor();

            //-- Assert

            Assert.That(obj.GetType().FullName, Is.EqualTo(base.TestCaseClassName));
        }
        public void CanDecorateObjectByConventions()
        {
            //-- Arrange

            var factory = new ConventionObjectFactory(
                base.Module,
                new ClassNameConvention(TestCaseClassName),
                new DefaultConstructorConvention(),
                new AutomaticPropertyConvention(),
                new DataContractConvention());

            //-- Act

            var obj = factory.CreateInstanceOf <AncestorRepository.IFewReadWriteProperties>().UsingDefaultConstructor();

            //-- Assert

            Assert.That(obj.GetType().IsDefined(typeof(DataContractAttribute), inherit: true));
            Assert.That(obj.GetType().GetProperties().All(p => p.IsDefined(typeof(DataMemberAttribute), inherit: true)));
        }
        public void CanFilterConventions()
        {
            //-- Arrange

            var factory = new ConventionObjectFactory(
                base.Module,
                new ClassNameConvention(TestCaseClassName),
                new DefaultConstructorConvention(),
                new AutomaticPropertyConvention(),
                new EmptyMethodConvention(),
                new HasPropertiesConvention());

            //-- Act

            var obj1 = factory.CreateInstanceOf <AncestorRepository.IFewReadWriteProperties>().UsingDefaultConstructor();
            var obj2 = factory.CreateInstanceOf <AncestorRepository.IFewMethods>().UsingDefaultConstructor();

            //-- Assert

            Assert.That(obj1.GetType().IsDefined(typeof(HasPropertiesAttribute), inherit: true), Is.True);
            Assert.That(obj2.GetType().IsDefined(typeof(HasPropertiesAttribute), inherit: true), Is.False);
        }
        public void CanUseTransientConventions()
        {
            //-- Arrange

            var factory = new ConventionObjectFactory(
                base.Module,
                transientConventionsFactory: context => new IObjectFactoryConvention[] {
                new ClassNameConvention(TestCaseClassName),
                new DefaultConstructorConvention(),
                new AutomaticPropertyConvention()
            });

            //-- Act

            var obj = factory.CreateInstanceOf <AncestorRepository.IFewReadWriteProperties>().UsingDefaultConstructor();

            obj.AString = "ABC";

            //-- Assert

            Assert.That(obj.GetType().FullName, Is.EqualTo(base.TestCaseClassName));
            Assert.That(obj.AString, Is.EqualTo("ABC"));
        }
        public void CanImplementObjectByConventions()
        {
            //-- Arrange

            var factory = new ConventionObjectFactory(
                base.Module,
                new DefaultConstructorConvention(),
                new AutomaticPropertyConvention());

            //-- Act

            var obj = factory.CreateInstanceOf <AncestorRepository.IFewReadWriteProperties>().UsingDefaultConstructor();

            obj.AString = "ABC";
            obj.AnInt   = 123;

            //-- Assert

            Assert.That(obj, Is.Not.Null);
            Assert.That(obj.GetType().Assembly.IsDynamic);

            Assert.That(obj.AString, Is.EqualTo("ABC"));
            Assert.That(obj.AnInt, Is.EqualTo(123));
        }
 public void TestFixtureSetUp()
 {
     _factory = new ConventionObjectFactory(
         base.Module,
         new ApplicationEventLoggerConvention());
 }