Package com.jacob.test.safearray

Source Code of com.jacob.test.safearray.SafeArrayContents

package com.jacob.test.safearray;

import com.jacob.com.ComFailException;
import com.jacob.com.SafeArray;
import com.jacob.com.Variant;
import com.jacob.test.BaseTestCase;

/**
* A safe array contents test (old test)
*
* <p>
* May need to run with some command line options (including from inside
* Eclipse). Look in the docs area at the Jacob usage document for command line
* options.
*/
public class SafeArrayContents extends BaseTestCase {

  public static void printArray(boolean a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(int a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(short a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(byte a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(double a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(float a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(String a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(Variant a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public static void printArray(char a[]) {
    System.out.print("[");
    for (int i = 0; i < a.length; i++) {
      System.out.print(" " + a[i] + " ");
    }
    System.out.println("]");
  }

  public void testSafeArrayContents() {
    // int
    System.out.println("Int");
    SafeArray ia = new SafeArray(Variant.VariantInt, 4);
    System.out.println("elem size:" + ia.getElemSize());
    int iack[] = new int[] { 100000, 200000, 300000, 400000 };
    printArray(iack);
    ia.fromIntArray(iack);
    iack = ia.toIntArray();
    printArray(iack);

    int i4[] = new int[4];
    ia.getInts(0, 4, i4, 0);
    printArray(i4);

    SafeArray ia2 = new SafeArray(Variant.VariantInt, 4);
    ia2.setInts(0, 4, i4, 0);
    iack = ia2.toIntArray();
    printArray(iack);

    // double
    System.out.println("Double");
    SafeArray da = new SafeArray(Variant.VariantDouble, 4);
    System.out.println("elem size:" + da.getElemSize());
    double dack[] = new double[] { 123.456, 456.123, 1234567.89, 12.3456789 };
    printArray(dack);
    da.fromDoubleArray(dack);
    dack = da.toDoubleArray();
    printArray(dack);

    double d4[] = new double[4];
    da.getDoubles(0, 4, d4, 0);
    printArray(d4);

    SafeArray da2 = new SafeArray(Variant.VariantDouble, 4);
    da2.setDoubles(0, 4, d4, 0);
    dack = da2.toDoubleArray();
    printArray(dack);

    // float
    System.out.println("Float");
    SafeArray fa = new SafeArray(Variant.VariantFloat, 4);
    System.out.println("elem size:" + fa.getElemSize());
    float fack[] = new float[] { 123.456F, 456.123F, 1234567.89F,
        12.3456789F };
    printArray(fack);
    fa.fromFloatArray(fack);
    fack = fa.toFloatArray();
    printArray(fack);

    float f4[] = new float[4];
    fa.getFloats(0, 4, f4, 0);
    printArray(f4);

    SafeArray fa2 = new SafeArray(Variant.VariantFloat, 4);
    fa2.setFloats(0, 4, f4, 0);
    fack = fa2.toFloatArray();
    printArray(fack);

    // boolean
    System.out.println("Boolean");
    SafeArray ba = new SafeArray(Variant.VariantBoolean, 4);
    System.out.println("elem size:" + ba.getElemSize());
    boolean back[] = new boolean[] { true, false, true, false };
    printArray(back);
    ba.fromBooleanArray(back);
    back = ba.toBooleanArray();
    printArray(back);

    boolean b4[] = new boolean[4];
    ba.getBooleans(0, 4, b4, 0);
    printArray(b4);

    SafeArray ba2 = new SafeArray(Variant.VariantBoolean, 4);
    ba2.setBooleans(0, 4, b4, 0);
    back = ba2.toBooleanArray();
    printArray(back);

    // char
    System.out.println("Char");
    SafeArray ca = new SafeArray(Variant.VariantShort, 4);
    System.out.println("elem size:" + ca.getElemSize());
    char cack[] = new char[] { 'a', 'b', 'c', 'd' };
    printArray(cack);
    ca.fromCharArray(cack);
    cack = ca.toCharArray();
    printArray(cack);

    char c4[] = new char[4];
    ca.getChars(0, 4, c4, 0);
    printArray(c4);

    SafeArray ca2 = new SafeArray(Variant.VariantShort, 4);
    ca2.setChars(0, 4, c4, 0);
    cack = ca2.toCharArray();
    printArray(cack);

    // short
    System.out.println("Short");
    SafeArray sha = new SafeArray(Variant.VariantShort, 4);
    System.out.println("elem size:" + sha.getElemSize());
    short shack[] = new short[] { 1000, 2000, 3000, 4000 };
    printArray(shack);
    sha.fromShortArray(shack);
    shack = sha.toShortArray();
    printArray(shack);

    short sh4[] = new short[4];
    sha.getShorts(0, 4, sh4, 0);
    printArray(sh4);

    SafeArray sha2 = new SafeArray(Variant.VariantShort, 4);
    sha2.setShorts(0, 4, sh4, 0);
    shack = sha2.toShortArray();
    printArray(shack);

    // string
    System.out.println("String");
    SafeArray sa = new SafeArray(Variant.VariantString, 4);
    System.out.println("elem size:" + sa.getElemSize());
    String sack[] = new String[] { "aa", "bb", "cc", "dd" };
    printArray(sack);
    sa.fromStringArray(sack);
    sack = sa.toStringArray();
    printArray(sack);

    String s4[] = new String[4];
    sa.getStrings(0, 4, s4, 0);
    printArray(s4);

    SafeArray sa2 = new SafeArray(Variant.VariantString, 4);
    sa2.setStrings(0, 4, s4, 0);
    sack = sa2.toStringArray();
    printArray(sack);

    // variant
    System.out.println("Variant");
    SafeArray va = new SafeArray(Variant.VariantVariant, 4);
    System.out.println("elem size:" + va.getElemSize());
    Variant vack[] = new Variant[] { new Variant(1), new Variant(2.3),
        new Variant(true), new Variant("four"), };
    printArray(vack);
    va.fromVariantArray(vack);
    vack = va.toVariantArray();
    printArray(vack);

    Variant v4[] = new Variant[4];
    va.getVariants(0, 4, v4, 0);
    printArray(v4);

    SafeArray va2 = new SafeArray(Variant.VariantVariant, 4);
    va2.setVariants(0, 4, v4, 0);
    vack = va2.toVariantArray();
    printArray(vack);

    // byte
    System.out.println("Byte");
    SafeArray bba = new SafeArray(Variant.VariantByte, 4);
    System.out.println("elem size:" + bba.getElemSize());
    byte bback[] = new byte[] { 0x1, 0x2, 0x3, 0x4 };
    printArray(bback);
    bba.fromByteArray(bback);
    bback = bba.toByteArray();
    printArray(bback);

    byte bb4[] = new byte[4];
    bba.getBytes(0, 4, bb4, 0);
    printArray(bb4);

    SafeArray bba2 = new SafeArray(Variant.VariantByte, 4);
    bba2.setBytes(0, 4, bb4, 0);
    bback = bba2.toByteArray();
    printArray(bback);

    try {
      // this should throw ComException
      bba2.fromCharArray(new char[] { 'a' });
      fail("Failed to catch expected exception");
    } catch (ComFailException cfe) {
      // do nothing
      // cfe.printStackTrace();
    }
  }
}
TOP

Related Classes of com.jacob.test.safearray.SafeArrayContents

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.