コード例 #1
0
ファイル: ServiceTests.cs プロジェクト: ly774508966/tofu3d
        public void ServiceShouldBindAllDependencies()
        {
            //Arrange
            ServiceContext s = new ServiceContext();

            new DummyServiceOne().BindServiceContext(s);

            //Assert
            Assert.False((s.Fetch("DummyServiceOne")).CheckDependencies());

            //Act
            s.FullInitialization();

            //Assert
            Assert.False((s.Fetch("DummyServiceOne")).CheckDependencies());

            //Act
            DummyLibrary    dl1 = new DummyLibrary("aaa").BindServiceContext(s);
            DummyServiceOne ds1 = new DummyServiceOne().BindServiceContext(s, "AnotherDummy");

            s.FullInitialization(dl1);
            s.FullInitialization(ds1);

            //Assert
            Assert.True(((DummyServiceOne)s.Fetch("DummyServiceOne")).CheckDependencies());
        }
コード例 #2
0
        public void ServiceShouldBeBuiltBoundAndInitialized()
        {
            //Act
            ServiceContext s = new ServiceContext();

            new DummyServiceOne().BindServiceContext(s, "AnotherDummy");
            new DummyServiceOne().BindServiceContext(s);
            DummyServiceOne ds1 = (DummyServiceOne)s.Fetch("DummyServiceOne");
            DummyServiceOne ds2 = (DummyServiceOne)s.Fetch("AnotherDummy");

            //Assert
            Assert.True(ds1.Built);
            Assert.False(ds1.GetInitialized());
            Assert.False(ds1.Bound);
            Assert.False(ds1.AnotherDummyBound());
            Assert.True(ds2.Built);
            Assert.False(ds2.GetInitialized());
            Assert.False(ds2.Bound);


            //Act
            s.FullInitialization();

            //Assert
            Assert.True(ds1.Bound);
            Assert.True(ds1.Built);
            Assert.True(ds1.GetInitialized());
            Assert.True(ds1.AnotherDummyBound());
        }
コード例 #3
0
        public void ServiceShouldDynamicallyCastType()
        {
            //Act
            ServiceContext s = new ServiceContext();

            new DummyServiceOne().BindServiceContext(s);
            DummyServiceOne dummy = s.Fetch("DummyServiceOne");

            //Assert
            Assert.NotNull(dummy);

            //Act
            s.Fetch("DummyServiceOne").Flarf();

            //Assert
            Assert.AreEqual(1, s.Fetch("DummyServiceOne").FlarfCount);

            try
            {
                s.Fetch("DummyServiceOne").UnwrittenFunction();

                //Assert
                Assert.Fail();
            } catch (Exception e)
            {
                Debug.Log("SUCCESS:");
                Debug.Log(e);
            }
        }
コード例 #4
0
ファイル: ServiceTests.cs プロジェクト: ly774508966/tofu3d
        public void ServiceShouldThrowExceptionOnDoubleInitialize()
        {
            DummyServiceOne dummy = new DummyServiceOne();

            Assert.False(dummy.GetInitialized());

            dummy.Initialize();

            Assert.True(dummy.GetInitialized());

            try
            {
                dummy.Initialize();
                Assert.Fail();
            } catch (MultipleInitializationException e)
            {
                //Pass!
                Debug.Log(e);
            }
        }