コード例 #1
0
        public void TestSingleDelegate()
        {
            Transform transformer = DoubleNumber;

            Assert.AreEqual(10, transformer(5));

            transformer = SquareNumber;
            Assert.AreEqual(36, transformer(6));

            Multipler m1 = new Multipler(100);

            transformer = m1.Function;
            Assert.AreEqual(700, transformer(7));
        }
コード例 #2
0
        public void TestMulticastDelegate()
        {
            int[] realOutput = new int[3];

            Transform transformer = null;

            transformer += new Multipler(realOutput, 0, -1).SaveInArray;
            transformer += new Multipler(realOutput, 1, 2).SaveInArray;
            transformer += new Multipler(realOutput, 2, 6).SaveInArray;

            // the result value is the result of the last method to be invoked
            Assert.AreEqual(36, transformer(6));

            int[] expectedOutput = { -6, 12, 36 };
            CollectionAssert.AreEqual(expectedOutput, realOutput);
        }
コード例 #3
0
        public void TestDelegateArray()
        {
            Transform[] arrayTransformer = new Transform[4];
            arrayTransformer[0] = DoubleNumber;
            arrayTransformer[1] = SquareNumber;

            Multipler m1 = new Multipler(8);
            Multipler m2 = new Multipler(100);

            arrayTransformer[2] = m1.Function;
            arrayTransformer[3] = m2.Function;

            int input = 9;
            int[] expectedOutput = { 18, 81, 72, 900 };
            int[] realOutput = new int[4];

            for (int index = 0; index < 4; ++index)
                realOutput[index] = arrayTransformer[index](input);

            CollectionAssert.AreEqual(expectedOutput,realOutput);
        }
コード例 #4
0
        public void TestDelegateArray()
        {
            Transform[] arrayTransformer = new Transform[4];
            arrayTransformer[0] = DoubleNumber;
            arrayTransformer[1] = SquareNumber;

            Multipler m1 = new Multipler(8);
            Multipler m2 = new Multipler(100);

            arrayTransformer[2] = m1.Function;
            arrayTransformer[3] = m2.Function;

            int input = 9;

            int[] expectedOutput = { 18, 81, 72, 900 };
            int[] realOutput     = new int[4];

            for (int index = 0; index < 4; ++index)
            {
                realOutput[index] = arrayTransformer[index](input);
            }

            CollectionAssert.AreEqual(expectedOutput, realOutput);
        }
コード例 #5
0
        public void TestMulticastDelegate()
        {
            int[] realOutput = new int[3];

            Transform transformer = null;
            transformer += new Multipler(realOutput,0,-1).SaveInArray;
            transformer += new Multipler(realOutput,1, 2).SaveInArray;
            transformer += new Multipler(realOutput,2, 6).SaveInArray;

            // the result value is the result of the last method to be invoked
            Assert.AreEqual(36,transformer(6));

            int[] expectedOutput = {-6,12,36};
            CollectionAssert.AreEqual(expectedOutput,realOutput);
        }
コード例 #6
0
        public void TestSingleDelegate()
        {
            Transform transformer = DoubleNumber;
            Assert.AreEqual(10,transformer(5));

            transformer = SquareNumber;
            Assert.AreEqual(36,transformer(6));

            Multipler m1 = new Multipler(100);
            transformer = m1.Function;
            Assert.AreEqual(700,transformer(7));
        }