Esempio n. 1
0
        public void Test()
        {
            var test3 = new TestClass3();

            PartContainer.Fill(test3);
            PartContainer.Fill(typeof(TestClass3));

            foreach (var test in new[] { TestClass3.TestInterface, TestClass3.TestInterface2, test3.TestInterface3, test3.TestInterface4 })
            {
                Assert.NotNull(test);
                Assert.Equal(2, test.Count);
                if (test[0] is TestClass1)
                {
                    Assert.IsType <TestClass1>(test[0]);
                    Assert.Equal("TestClass1", test[0].ID);
                    Assert.IsType <TestClass2>(test[1]);
                    Assert.Equal("TestClass2", test[1].ID);
                }
                else
                {
                    Assert.IsType <TestClass2>(test[0]);
                    Assert.Equal("TestClass2", test[0].ID);
                    Assert.IsType <TestClass1>(test[1]);
                    Assert.Equal("TestClass1", test[1].ID);
                }
            }
        }
Esempio n. 2
0
        public void Test()
        {
            var test3 = new TestClass4();

            PartContainer.Fill(test3);
            PartContainer.Fill(typeof(TestClass4));
            Assert.Null(TestClass4.TestProp5);
            Assert.Null(test3.TestProp6);
            foreach (var test in new[] { TestClass4.TestProp, TestClass4.TestProp2, test3.TestProp3, test3.TestProp4 })
            {
                Assert.NotNull(test);
                Assert.Equal(2, test.Count());
                if (test.First() is TestClass1)
                {
                    Assert.IsType <TestClass1>(test.First());
                    Assert.Equal("TestClass1", test.First().ID);
                    Assert.IsType <TestClass2>(test.Last());
                    Assert.Equal("TestClass2", test.Last().ID);
                }
                else
                {
                    Assert.IsType <TestClass2>(test.First());
                    Assert.Equal("TestClass2", test.First().ID);
                    Assert.IsType <TestClass1>(test.Last());
                    Assert.Equal("TestClass1", test.Last().ID);
                }
            }
        }
Esempio n. 3
0
        public void InstanceField()
        {
            var test2 = new TestClass2();

            Assert.Null(test2.TestInterface2);
            PartContainer.Fill(test2);
            Assert.NotNull(test2.TestInterface2);
            Assert.IsType <TestClass1>(test2.TestInterface2);
            Assert.Equal("TestClass1", test2.TestInterface2.ID);
        }
Esempio n. 4
0
        public void Test()
        {
            var test2 = new TestClass2();

            Assert.Null(test2.Test1);
            Assert.Null(test2.Test2);
            PartContainer.Fill(test2);
            Assert.NotNull(test2.Test1);
            Assert.NotNull(test2.Test2);
            Assert.Equal(typeof(string), test2.Test1.ID);
            Assert.Equal(typeof(int), test2.Test2.ID);
        }
Esempio n. 5
0
        public void Test()
        {
            var test2 = new TestClass2();

            Assert.Null(test2.GetID);
            Assert.Null(test2.GetID2);
            PartContainer.Fill(test2);
            Assert.NotNull(test2.GetID);
            Assert.NotNull(test2.GetID2);
            Assert.Equal("A", test2.GetID());
            Assert.Equal("A", test2.GetID2());
        }
Esempio n. 6
0
        public void TestMany()
        {
            var test2 = new TestClass2();

            Assert.Null(test2.GetID3);
            PartContainer.Fill(test2);
            Assert.NotNull(test2.GetID3);
            Assert.Equal(2, test2.GetID3.Count);
            var a = test2.GetID3[0]();
            var b = test2.GetID3[1]();

            Assert.True((a == "A" && b == "B") || (a == "B" && b == "A"));
        }
Esempio n. 7
0
        public void Test2()
        {
            var test = new TestClass4();

            Assert.Null(test.Get1);
            Assert.Null(test.Get2);
            Assert.Null(test.Get3);
            PartContainer.Fill(test);
            Assert.NotNull(test.Get1);
            Assert.NotNull(test.Get2);
            Assert.NotNull(test.Get3);
            Assert.Equal(typeof(string), test.Get1());
            Assert.Equal(typeof(int), test.Get2());
            Assert.Equal(typeof(int), test.Get3(1));
        }
Esempio n. 8
0
        public void StaticPropertyAndField()
        {
            Assert.Null(TestClass3.TestInterface);
            Assert.Null(TestClass3.TestInterface2);

            PartContainer.Fill(typeof(TestClass3));

            Assert.NotNull(TestClass3.TestInterface);
            Assert.IsType <TestClass1>(TestClass3.TestInterface);
            Assert.Equal("TestClass1", TestClass3.TestInterface.ID);

            Assert.NotNull(TestClass3.TestInterface2);
            Assert.IsType <TestClass1>(TestClass3.TestInterface2);
            Assert.Equal("TestClass1", TestClass3.TestInterface2.ID);
        }