예제 #1
0
    // Returns true if the expected result is right
    // Returns false if the expected result is wrong
    public bool NegTest5()
    {
        bool retVal = true;

        TestLibrary.TestFramework.BeginScenario("NegTest5:At least one element in sourceArray cannot be cast to the type of destinationArray.");
        try
        {
            Array            myOriginalArray = Array.CreateInstance(typeof(ITestInterface), c_MaxValue);
            Array            myTargetArray   = Array.CreateInstance(typeof(TestBaseClass), c_MaxValue * 2);
            TestDeriveClass  generator1;
            TestBaseClass    generator2;
            TestDeriveClass1 generator3 = new TestDeriveClass1(100);
            for (int i = 0; i < c_MaxValue; i++)
            {
                generator1 = new TestDeriveClass(i);
                generator2 = new TestDeriveClass(i + c_MaxValue);
                myOriginalArray.SetValue(generator1, i);
                myTargetArray.SetValue(generator2, i);
            }

            myOriginalArray.SetValue(generator3, c_MaxValue - 1);
            Array.Copy(myOriginalArray, c_MinValue, myTargetArray, c_MaxValue, c_MaxValue);
            TestLibrary.TestFramework.LogError("017", "Copy error");
            retVal = false;
        }
        catch (InvalidCastException)
        {
        }
        catch (Exception e)
        {
            TestLibrary.TestFramework.LogError("018", "Unexpected exception: " + e);
            retVal = false;
        }

        return(retVal);
    }
예제 #2
0
    // Returns true if the expected result is right
    // Returns false if the expected result is wrong
    public bool NegTest5()
    {
        bool retVal = true;

        TestLibrary.TestFramework.BeginScenario("NegTest5:At least one element in sourceArray cannot be cast to the type of destinationArray.");
        try
        {
            Array myOriginalArray = Array.CreateInstance(typeof(ITestInterface), c_MaxValue);
            Array myTargetArray = Array.CreateInstance(typeof(TestBaseClass), c_MaxValue * 2);
            TestDeriveClass generator1;
            TestBaseClass generator2;
            TestDeriveClass1 generator3=new TestDeriveClass1(100);
            for (int i = 0; i < c_MaxValue; i++)
            {
                generator1 = new TestDeriveClass(i);
                generator2 = new TestDeriveClass(i + c_MaxValue);
                myOriginalArray.SetValue(generator1, i);
                myTargetArray.SetValue(generator2, i);
            }

            myOriginalArray.SetValue(generator3, c_MaxValue - 1);
            Array.Copy(myOriginalArray, myTargetArray, c_MaxValue);
            TestLibrary.TestFramework.LogError("017", "Copy error");
            retVal = false;
        }
        catch (InvalidCastException)
        {
        }
        catch (Exception e)
        {
            TestLibrary.TestFramework.LogError("018", "Unexpected exception: " + e);
            retVal = false;
        }

        return retVal;
    }