public void RegisterPerThread_SameThread_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new NiquIoCFullRegistration(), new NiquIoCFullResolving());

            var c = new Container();

            c = (Container)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread = new Thread(() =>
            {
                obj1 = c.Resolve <ITestB>(ResolveKind.FullEmitFunction);
                obj2 = c.Resolve <ITestB>(ResolveKind.FullEmitFunction);
            });

            thread.Start();
            thread.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, true, true);
        }
        public void RegisterPerThread_SameThread_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new NinjectRegistration(), new NinjectResolving());

            var c = new StandardKernel();

            c = (StandardKernel)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread = new Thread(() =>
            {
                obj1 = c.Get <ITestB>();
                obj2 = c.Get <ITestB>();
            });

            thread.Start();
            thread.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, true, true);
        }
        public void RegisterPerThread_SameThread_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new SimpleInjectorRegistration(),
                                                        new SimpleInjectorResolving());

            var c = new Container();

            c = (Container)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread = new Thread(() =>
            {
                using (c.BeginLifetimeScope())
                {
                    obj1 = c.GetInstance <ITestB>();
                    obj2 = c.GetInstance <ITestB>();
                }
            });

            thread.Start();
            thread.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, true, true);
        }
        public void RegisterPerThread_DifferentThreads_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new NiquIoCPartialRegistration(),
                                                        new NiquIoCPartialResolving());

            var c = new Container();

            c = (Container)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread1 = new Thread(() => { obj1 = c.Resolve <ITestB>(ResolveKind.PartialEmitFunction); });
            var thread2 = new Thread(() => { obj2 = c.Resolve <ITestB>(ResolveKind.PartialEmitFunction); });

            thread1.Start();
            thread1.Join();
            thread2.Start();
            thread2.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, false, false);
        }
Exemple #5
0
        public void RegisterPerThread_SameThread_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new AutofacRegistration(), new AutofacResolving());


            var    cb   = new ContainerBuilder();
            var    c    = (IContainer)testCase.Register(cb, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread = new Thread(() =>
            {
                using (var threadLifetime = c.BeginLifetimeScope())
                {
                    obj1 = threadLifetime.Resolve <ITestB>();
                    obj2 = threadLifetime.Resolve <ITestB>();
                }
            });

            thread.Start();
            thread.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, true, true);
        }
Exemple #6
0
        public void RegisterPerThread_SameThread_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new DryIocRegistration(), new DryIocResolving());

            var c = new Container(scopeContext: new ThreadScopeContext());

            c = (Container)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread = new Thread(() =>
            {
                using (var s = c.OpenScope())
                {
                    obj1 = c.Resolve <ITestB>();
                    obj2 = c.Resolve <ITestB>();
                }
            });

            thread.Start();
            thread.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, true, true);
        }
        public void RegisterPerThread_SameThread_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new StructureMapRegistration(), new StructureMapResolving());

            var c = new Container();

            c = (Container)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread = new Thread(() =>
            {
                obj1 = c.GetInstance <ITestB>();
                obj2 = c.GetInstance <ITestB>();
            });

            thread.Start();
            thread.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, true, true);
        }
        public void RegisterPerThread_SameThread_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new GraceRegistration(), new GraceResolving());

            var c = new DependencyInjectionContainer();

            c = (DependencyInjectionContainer)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread = new Thread(() =>
            {
                using (var scope = c.BeginLifetimeScope())
                {
                    obj1 = scope.Locate <ITestB>();
                    obj2 = scope.Locate <ITestB>();
                }
            });

            thread.Start();
            thread.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, true, true);
        }
Exemple #9
0
        public void RegisterPerThread_DifferentThreads_Success()
        {
            ITestCase testCase = new PerThreadTestCaseB(new LightInjectRegistration(), new LightInjectResolving());

            var c = new ServiceContainer();

            c = (ServiceContainer)testCase.Register(c, RegistrationKind.PerThread);
            ITestB obj1 = null;
            ITestB obj2 = null;


            var thread1 = new Thread(() =>
            {
                using (c.BeginScope())
                {
                    obj1 = c.GetInstance <ITestB>();
                }
            });
            var thread2 = new Thread(() =>
            {
                using (c.BeginScope())
                {
                    obj2 = c.GetInstance <ITestB>();
                }
            });

            thread1.Start();
            thread1.Join();
            thread2.Start();
            thread2.Join();


            CheckHelper.Check(obj1, true, true);
            CheckHelper.Check(obj2, true, true);
            CheckHelper.Check(obj1, obj2, false, false);
        }
Exemple #10
0
        public static void Check(ITestB testB, bool singleton)
        {
            Assert.IsNotNull(testB);

            Assert.IsNotNull(testB.TestB49);
            Assert.IsNotNull(testB.TestB48);
            Assert.IsNotNull(testB.TestB47);
            Assert.IsNotNull(testB.TestB46);
            Assert.IsNotNull(testB.TestB45);
            Assert.IsNotNull(testB.TestB44);
            Assert.IsNotNull(testB.TestB43);
            Assert.IsNotNull(testB.TestB42);
            Assert.IsNotNull(testB.TestB41);
            Assert.IsNotNull(testB.TestB40);

            Assert.IsNotNull(testB.TestB49.TestB39);
            Assert.IsNotNull(testB.TestB49.TestB38);
            Assert.IsNotNull(testB.TestB49.TestB37);
            Assert.IsNotNull(testB.TestB49.TestB36);
            Assert.IsNotNull(testB.TestB49.TestB35);
            Assert.IsNotNull(testB.TestB49.TestB34);
            Assert.IsNotNull(testB.TestB49.TestB33);
            Assert.IsNotNull(testB.TestB49.TestB32);
            Assert.IsNotNull(testB.TestB49.TestB31);
            Assert.IsNotNull(testB.TestB49.TestB30);

            if (singleton)
            {
                Assert.AreEqual(testB.TestB49.TestB39, testB.TestB48.TestB39);
                Assert.AreEqual(testB.TestB49.TestB38, testB.TestB48.TestB38);
                Assert.AreEqual(testB.TestB49.TestB37, testB.TestB48.TestB37);
                Assert.AreEqual(testB.TestB49.TestB36, testB.TestB48.TestB36);
                Assert.AreEqual(testB.TestB49.TestB35, testB.TestB48.TestB35);
                Assert.AreEqual(testB.TestB49.TestB34, testB.TestB48.TestB34);
                Assert.AreEqual(testB.TestB49.TestB33, testB.TestB48.TestB33);
                Assert.AreEqual(testB.TestB49.TestB32, testB.TestB48.TestB32);
                Assert.AreEqual(testB.TestB49.TestB31, testB.TestB48.TestB31);
                Assert.AreEqual(testB.TestB49.TestB30, testB.TestB48.TestB30);
            }
            else
            {
                Assert.AreNotEqual(testB.TestB49.TestB39, testB.TestB48.TestB39);
                Assert.AreNotEqual(testB.TestB49.TestB38, testB.TestB48.TestB38);
                Assert.AreNotEqual(testB.TestB49.TestB37, testB.TestB48.TestB37);
                Assert.AreNotEqual(testB.TestB49.TestB36, testB.TestB48.TestB36);
                Assert.AreNotEqual(testB.TestB49.TestB35, testB.TestB48.TestB35);
                Assert.AreNotEqual(testB.TestB49.TestB34, testB.TestB48.TestB34);
                Assert.AreNotEqual(testB.TestB49.TestB33, testB.TestB48.TestB33);
                Assert.AreNotEqual(testB.TestB49.TestB32, testB.TestB48.TestB32);
                Assert.AreNotEqual(testB.TestB49.TestB31, testB.TestB48.TestB31);
                Assert.AreNotEqual(testB.TestB49.TestB30, testB.TestB48.TestB30);
            }

            Assert.IsNotNull(testB.TestB49.TestB39.TestB29);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB28);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB27);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB26);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB25);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB24);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB23);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB22);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB21);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB20);

            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB18);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB17);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB16);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB15);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB14);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB13);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB12);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB11);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB10);

            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB09);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB08);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB07);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB06);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB05);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB04);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB03);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB02);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB01);
            Assert.IsNotNull(testB.TestB49.TestB39.TestB29.TestB19.TestB00);
        }
        public static void Check(ITestB testB1, ITestB testB2, bool singleton, bool singletonLast)
        {
            Assert.AreEqual(testB1.Equals(testB2), singleton);

            Assert.AreEqual(testB1.TestBa10.Equals(testB2.TestBa10), singleton);
            Assert.AreEqual(testB1.TestBb10.Equals(testB2.TestBb10), singleton);
            Assert.AreEqual(testB1.TestBc10.Equals(testB2.TestBc10), singleton);

            Assert.AreEqual(testB1.TestBa10.TestBa9.Equals(testB2.TestBa10.TestBa9), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa8.Equals(testB2.TestBa10.TestBa8), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa7.Equals(testB2.TestBa10.TestBa7), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa6.Equals(testB2.TestBa10.TestBa6), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa5.Equals(testB2.TestBa10.TestBa5), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa4.Equals(testB2.TestBa10.TestBa4), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa3.Equals(testB2.TestBa10.TestBa3), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa2.Equals(testB2.TestBa10.TestBa2), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa1.Equals(testB2.TestBa10.TestBa1), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa0.Equals(testB2.TestBa10.TestBa0), singletonLast);

            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.Equals(testB2.TestBa10.TestBa9.TestBa8), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa7.Equals(testB2.TestBa10.TestBa9.TestBa7), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa6.Equals(testB2.TestBa10.TestBa9.TestBa6), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa5.Equals(testB2.TestBa10.TestBa9.TestBa5), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa4.Equals(testB2.TestBa10.TestBa9.TestBa4), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa3.Equals(testB2.TestBa10.TestBa9.TestBa3), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa2.Equals(testB2.TestBa10.TestBa9.TestBa2), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa1.Equals(testB2.TestBa10.TestBa9.TestBa1), singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa0.Equals(testB2.TestBa10.TestBa9.TestBa0), singletonLast);

            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa7.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7),
                            singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa6.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa6),
                            singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa5.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa5),
                            singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa4.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa4),
                            singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa3.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa3),
                            singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa2.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa2),
                            singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa1.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa1),
                            singleton);
            Assert.AreEqual(testB1.TestBa10.TestBa9.TestBa8.TestBa0.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa0),
                            singletonLast);

            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6),
                singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa5.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa5),
                singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa4.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa4),
                singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa3.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa3),
                singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa2.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa2),
                singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa1.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa1),
                singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa0.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa0),
                singletonLast);

            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7
                                                                               .TestBa6.TestBa5), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa4.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7
                                                                               .TestBa6.TestBa4), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa3.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7
                                                                               .TestBa6.TestBa3), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa2.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7
                                                                               .TestBa6.TestBa2), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa1.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7
                                                                               .TestBa6.TestBa1), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa0.Equals(testB2.TestBa10.TestBa9.TestBa8.TestBa7
                                                                               .TestBa6.TestBa0), singletonLast);

            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.Equals(testB2.TestBa10.TestBa9.TestBa8
                                                                                       .TestBa7.TestBa6.TestBa5.TestBa4), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa3.Equals(testB2.TestBa10.TestBa9.TestBa8
                                                                                       .TestBa7.TestBa6.TestBa5.TestBa3), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa2.Equals(testB2.TestBa10.TestBa9.TestBa8
                                                                                       .TestBa7.TestBa6.TestBa5.TestBa2), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa1.Equals(testB2.TestBa10.TestBa9.TestBa8
                                                                                       .TestBa7.TestBa6.TestBa5.TestBa1), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa0.Equals(testB2.TestBa10.TestBa9.TestBa8
                                                                                       .TestBa7.TestBa6.TestBa5.TestBa0), singletonLast);

            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.Equals(testB2.TestBa10.TestBa9
                                                                                               .TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa2.Equals(testB2.TestBa10.TestBa9
                                                                                               .TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa2), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa1.Equals(testB2.TestBa10.TestBa9
                                                                                               .TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa1), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa0.Equals(testB2.TestBa10.TestBa9
                                                                                               .TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa0), singletonLast);

            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.Equals(testB2.TestBa10
                                                                                                       .TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa1.Equals(testB2.TestBa10
                                                                                                       .TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa1), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa0.Equals(testB2.TestBa10
                                                                                                       .TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa0), singletonLast);

            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa1.Equals(testB2
                                                                                                               .TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa1), singleton);
            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa0.Equals(testB2
                                                                                                               .TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa0), singletonLast);

            Assert.AreEqual(
                testB1.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa1.TestBa0.Equals(
                    testB2.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa1.TestBa0),
                singletonLast);
        }
        public static void Check(ITestB testB, bool singleton, bool singletonLast)
        {
            Assert.IsNotNull(testB);

            Assert.IsNotNull(testB.TestBa10);
            Assert.IsNotNull(testB.TestBb10);
            Assert.IsNotNull(testB.TestBc10);

            Assert.IsNotNull(testB.TestBa10.TestBa9);
            Assert.IsNotNull(testB.TestBa10.TestBa8);
            Assert.IsNotNull(testB.TestBa10.TestBa7);
            Assert.IsNotNull(testB.TestBa10.TestBa6);
            Assert.IsNotNull(testB.TestBa10.TestBa5);
            Assert.IsNotNull(testB.TestBa10.TestBa4);
            Assert.IsNotNull(testB.TestBa10.TestBa3);
            Assert.IsNotNull(testB.TestBa10.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa7);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa6);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa5);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa4);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa3);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa0);

            if (singleton)
            {
                Assert.AreEqual(testB.TestBa10.TestBa8, testB.TestBa10.TestBa9.TestBa8);
                Assert.AreEqual(testB.TestBa10.TestBa7, testB.TestBa10.TestBa9.TestBa7);
                Assert.AreEqual(testB.TestBa10.TestBa6, testB.TestBa10.TestBa9.TestBa6);
                Assert.AreEqual(testB.TestBa10.TestBa5, testB.TestBa10.TestBa9.TestBa5);
                Assert.AreEqual(testB.TestBa10.TestBa4, testB.TestBa10.TestBa9.TestBa4);
                Assert.AreEqual(testB.TestBa10.TestBa3, testB.TestBa10.TestBa9.TestBa3);
                Assert.AreEqual(testB.TestBa10.TestBa2, testB.TestBa10.TestBa9.TestBa2);
                Assert.AreEqual(testB.TestBa10.TestBa1, testB.TestBa10.TestBa9.TestBa1);
            }
            else
            {
                Assert.AreNotEqual(testB.TestBa10.TestBa8, testB.TestBa10.TestBa9.TestBa8);
                Assert.AreNotEqual(testB.TestBa10.TestBa7, testB.TestBa10.TestBa9.TestBa7);
                Assert.AreNotEqual(testB.TestBa10.TestBa6, testB.TestBa10.TestBa9.TestBa6);
                Assert.AreNotEqual(testB.TestBa10.TestBa5, testB.TestBa10.TestBa9.TestBa5);
                Assert.AreNotEqual(testB.TestBa10.TestBa4, testB.TestBa10.TestBa9.TestBa4);
                Assert.AreNotEqual(testB.TestBa10.TestBa3, testB.TestBa10.TestBa9.TestBa3);
                Assert.AreNotEqual(testB.TestBa10.TestBa2, testB.TestBa10.TestBa9.TestBa2);
                Assert.AreNotEqual(testB.TestBa10.TestBa1, testB.TestBa10.TestBa9.TestBa1);
            }

            if (singletonLast)
            {
                Assert.AreEqual(testB.TestBa10.TestBa0, testB.TestBa10.TestBa9.TestBa0);
            }
            else
            {
                Assert.AreNotEqual(testB.TestBa10.TestBa0, testB.TestBa10.TestBa9.TestBa0);
            }

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa6);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa5);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa4);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa3);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa5);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa4);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa3);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa4);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa3);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa3);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa1);
            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa0);

            Assert.IsNotNull(testB.TestBa10.TestBa9.TestBa8.TestBa7.TestBa6.TestBa5.TestBa4.TestBa3.TestBa2.TestBa1
                             .TestBa0);
        }
Exemple #13
0
 public static void Regist(this CRegist regist, ITestB B)
 {
     Console.WriteLine("BBBB!");
 }