예제 #1
0
        private static void TestMatch()
        {
            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo1 = new C1();

            RunTest("Match1", () => oo1.Match((C1 v) => 1).Match((C2 v) => 2).Match((C3 v) => 3).Match((C4 v) => 4).Match((C5 v) => 5).Match((C6 v) => 6).Match((C7 v) => 7).Match((C8 v) => 8).Match((C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo5 = new C5();

            RunTest("Match5", () => oo5.Match((C1 v) => 1).Match((C2 v) => 2).Match((C3 v) => 3).Match((C4 v) => 4).Match((C5 v) => 5).Match((C6 v) => 6).Match((C7 v) => 7).Match((C8 v) => 8).Match((C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo9 = new C9();

            RunTest("Match9", () => oo9.Match((C1 v) => 1).Match((C2 v) => 2).Match((C3 v) => 3).Match((C4 v) => 4).Match((C5 v) => 5).Match((C6 v) => 6).Match((C7 v) => 7).Match((C8 v) => 8).Match((C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo11 = new C11();

            RunTest("Match11", () => oo9.Match((C1 v) => 1).Match((C2 v) => 2).Match((C3 v) => 3).Match((C4 v) => 4).Match((C5 v) => 5).Match((C6 v) => 6).Match((C7 v) => 7).Match((C8 v) => 8).Match((C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo15 = new C15();

            RunTest("Match15", () => oo9.Match((C1 v) => 1).Match((C2 v) => 2).Match((C3 v) => 3).Match((C4 v) => 4).Match((C5 v) => 5).Match((C6 v) => 6).Match((C7 v) => 7).Match((C8 v) => 8).Match((C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo19 = new C19();

            RunTest("Match19", () => oo9.Match((C1 v) => 1).Match((C2 v) => 2).Match((C3 v) => 3).Match((C4 v) => 4).Match((C5 v) => 5).Match((C6 v) => 6).Match((C7 v) => 7).Match((C8 v) => 8).Match((C9 v) => 9));
        }
예제 #2
0
        public static void TestMatch()
        {
            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo1 = new C1();

            RunTest("Match1", () => oo1.Match((C1 v) => 1, (C2 v) => 2, (C3 v) => 3, (C4 v) => 4, (C5 v) => 5, (C6 v) => 6, (C7 v) => 7, (C8 v) => 8, (C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo5 = new C5();

            RunTest("Match5", () => oo5.Match((C1 v) => 1, (C2 v) => 2, (C3 v) => 3, (C4 v) => 4, (C5 v) => 5, (C6 v) => 6, (C7 v) => 7, (C8 v) => 8, (C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo9 = new C9();

            RunTest("Match9", () => oo9.Match((C1 v) => 1, (C2 v) => 2, (C3 v) => 3, (C4 v) => 4, (C5 v) => 5, (C6 v) => 6, (C7 v) => 7, (C8 v) => 8, (C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo11 = new C11();

            RunTest("Match11", () => oo9.Match((C1 v) => 1, (C2 v) => 2, (C3 v) => 3, (C4 v) => 4, (C5 v) => 5, (C6 v) => 6, (C7 v) => 7, (C8 v) => 8, (C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo15 = new C15();

            RunTest("Match15", () => oo9.Match((C1 v) => 1, (C2 v) => 2, (C3 v) => 3, (C4 v) => 4, (C5 v) => 5, (C6 v) => 6, (C7 v) => 7, (C8 v) => 8, (C9 v) => 9));

            OneOf <C1, C2, C3, C4, C5, C6, C7, C8, C9> oo19 = new C19();

            RunTest("Match19", () => oo9.Match((C1 v) => 1, (C2 v) => 2, (C3 v) => 3, (C4 v) => 4, (C5 v) => 5, (C6 v) => 6, (C7 v) => 7, (C8 v) => 8, (C9 v) => 9));
        }
예제 #3
0
        public static void TestI8()
        {
            var      c15 = new C15();
            I8       i8  = c15;
            I9 <int> i9  = c15;

            Assert.AreEqual(11, i8[11]);
            i8[0] = 15;
            Assert.AreEqual(15, c15.tmp);
            Assert.AreEqual(2, i8.Prop1);
            i8.Prop2 = "test";
            Assert.AreEqual("test", i8.Prop2);
            var i = 0;

            i8.Event1 += () => i = 9;
            i8.Invoke();
            Assert.AreEqual(9, i);

            i = 0;
            i9.Invoke();
            Assert.AreEqual(9, i);
        }