Exemple #1
0
 //	Prints InnerArraySequential
 public static void PrintInnerArraySequential(InnerArraySequential outer, string name)
 {
     for (int i = 0; i < Common.NumArrElements; i++)
     {
         Console.WriteLine("\t{0}.arr[{1}].f1 = {2}", name, i, outer.arr[i].f1);
         Console.WriteLine("\t{0}.arr[{1}].f2 = {2}", name, i, outer.arr[i].f2);
         Console.WriteLine("\t{0}.arr[{1}].f3 = {2}", name, i, outer.arr[i].f3);
     }
 }
Exemple #2
0
    //	Returns new OUTER instance; the params are the fields of INNER;
    //	all the INNER elements have the same field values
    public static InnerArraySequential NewInnerArraySequential(int f1, float f2, string f3)
    {
        InnerArraySequential outer = new InnerArraySequential();

        outer.arr = new InnerSequential[Common.NumArrElements];
        for (int i = 0; i < Common.NumArrElements; i++)
        {
            outer.arr[i].f1 = f1;
            outer.arr[i].f2 = f2;
            outer.arr[i].f3 = f3;
        }
        return(outer);
    }
Exemple #3
0
 //	Returns true if the two params have the same fields
 public static bool ValidateInnerArraySequential(InnerArraySequential outer1, InnerArraySequential outer2, string methodName)
 {
     for (int i = 0; i < Common.NumArrElements; i++)
     {
         if (outer1.arr[i].f1 != outer2.arr[i].f1 ||
             outer1.arr[i].f2 != outer2.arr[i].f2 ||
             outer1.arr[i].f3 != outer2.arr[i].f3)
         {
             Console.WriteLine("\tFAILED! " + methodName + "did not receive result as expected.");
             Console.WriteLine("\tThe Actual is...");
             Console.WriteLine("\t{0}.arr[{1}].f1 = {2}", outer1.ToString(), i, outer1.arr[i].f1);
             Console.WriteLine("\t{0}.arr[{1}].f2 = {2}", outer1.ToString(), i, outer1.arr[i].f2);
             Console.WriteLine("\t{0}.arr[{1}].f3 = {2}", outer1.ToString(), i, outer1.arr[i].f3);
             Console.WriteLine("\tThe Expected is...");
             Console.WriteLine("\t{0}.arr[{1}].f1 = {2}", outer2.ToString(), i, outer2.arr[i].f1);
             Console.WriteLine("\t{0}.arr[{1}].f2 = {2}", outer2.ToString(), i, outer2.arr[i].f2);
             Console.WriteLine("\t{0}.arr[{1}].f3 = {2}", outer2.ToString(), i, outer2.arr[i].f3);
             return(false);
         }
     }
     Console.WriteLine("\tPASSED!");
     return(true);
 }
Exemple #4
0
 //	Returns true if the two params have the same fields
 public static bool ValidateInnerArraySequential(InnerArraySequential outer1, InnerArraySequential outer2, string methodName)
 {
     for (int i = 0; i < Common.NumArrElements; i++)
     {
         if (outer1.arr[i].f1 != outer2.arr[i].f1 ||
             outer1.arr[i].f2 != outer2.arr[i].f2 ||
             outer1.arr[i].f3 != outer2.arr[i].f3)
         {
             Console.WriteLine("\tFAILED! " + methodName + "did not recieve result as expected.");
             Console.WriteLine("\tThe Actual is...");
             Console.WriteLine("\t{0}.arr[{1}].f1 = {2}", outer1.ToString(), i, outer1.arr[i].f1);
             Console.WriteLine("\t{0}.arr[{1}].f2 = {2}", outer1.ToString(), i, outer1.arr[i].f2);
             Console.WriteLine("\t{0}.arr[{1}].f3 = {2}", outer1.ToString(), i, outer1.arr[i].f3);
             Console.WriteLine("\tThe Expected is...");
             Console.WriteLine("\t{0}.arr[{1}].f1 = {2}", outer2.ToString(), i, outer2.arr[i].f1);
             Console.WriteLine("\t{0}.arr[{1}].f2 = {2}", outer2.ToString(), i, outer2.arr[i].f2);
             Console.WriteLine("\t{0}.arr[{1}].f3 = {2}", outer2.ToString(), i, outer2.arr[i].f3);
             return false;
         }
     }
     Console.WriteLine("\tPASSED!");
     return true;
 }
Exemple #5
0
 //	Prints InnerArraySequential
 public static void PrintInnerArraySequential(InnerArraySequential outer, string name)
 {
     for (int i = 0; i < Common.NumArrElements; i++)
     {
         Console.WriteLine("\t{0}.arr[{1}].f1 = {2}", name, i, outer.arr[i].f1);
         Console.WriteLine("\t{0}.arr[{1}].f2 = {2}", name, i, outer.arr[i].f2);
         Console.WriteLine("\t{0}.arr[{1}].f3 = {2}", name, i, outer.arr[i].f3);
     }
 }
Exemple #6
0
 //	Returns new OUTER instance; the params are the fields of INNER; 
 //	all the INNER elements have the same field values
 public static InnerArraySequential NewInnerArraySequential(int f1, float f2, string f3)
 {
     InnerArraySequential outer = new InnerArraySequential();
     outer.arr = new InnerSequential[Common.NumArrElements];
     for (int i = 0; i < Common.NumArrElements; i++)
     {
         outer.arr[i].f1 = f1;
         outer.arr[i].f2 = f2;
         outer.arr[i].f3 = f3;
     }
     return outer;
 }
 static extern bool MarshalStructAsParam_AsSeqByRef2(ref InnerArraySequential str1);
 static extern bool MarshalStructAsParam_AsSeqByVal2(InnerArraySequential str1);