public void testNonExcludedTypes() {
   assert !MarshalledValue.isTypeExcluded(Object.class);
   assert !MarshalledValue.isTypeExcluded(List.class);
   assert !MarshalledValue.isTypeExcluded(Collection.class);
   assert !MarshalledValue.isTypeExcluded(Map.class);
   assert !MarshalledValue.isTypeExcluded(Date.class);
   assert !MarshalledValue.isTypeExcluded(Thread.class);
   assert !MarshalledValue.isTypeExcluded(Collection.class);
   assert !MarshalledValue.isTypeExcluded(
       new Object() {
         String blah;
       }.getClass());
 }
  public void testExcludedTypes() {
    // Strings
    assert MarshalledValue.isTypeExcluded(String.class);
    assert MarshalledValue.isTypeExcluded(String[].class);
    assert MarshalledValue.isTypeExcluded(String[][].class);
    assert MarshalledValue.isTypeExcluded(String[][][].class);

    // primitives
    assert MarshalledValue.isTypeExcluded(void.class);
    assert MarshalledValue.isTypeExcluded(boolean.class);
    assert MarshalledValue.isTypeExcluded(char.class);
    assert MarshalledValue.isTypeExcluded(byte.class);
    assert MarshalledValue.isTypeExcluded(short.class);
    assert MarshalledValue.isTypeExcluded(int.class);
    assert MarshalledValue.isTypeExcluded(long.class);
    assert MarshalledValue.isTypeExcluded(float.class);
    assert MarshalledValue.isTypeExcluded(double.class);

    assert MarshalledValue.isTypeExcluded(boolean[].class);
    assert MarshalledValue.isTypeExcluded(char[].class);
    assert MarshalledValue.isTypeExcluded(byte[].class);
    assert MarshalledValue.isTypeExcluded(short[].class);
    assert MarshalledValue.isTypeExcluded(int[].class);
    assert MarshalledValue.isTypeExcluded(long[].class);
    assert MarshalledValue.isTypeExcluded(float[].class);
    assert MarshalledValue.isTypeExcluded(double[].class);

    assert MarshalledValue.isTypeExcluded(boolean[][].class);
    assert MarshalledValue.isTypeExcluded(char[][].class);
    assert MarshalledValue.isTypeExcluded(byte[][].class);
    assert MarshalledValue.isTypeExcluded(short[][].class);
    assert MarshalledValue.isTypeExcluded(int[][].class);
    assert MarshalledValue.isTypeExcluded(long[][].class);
    assert MarshalledValue.isTypeExcluded(float[][].class);
    assert MarshalledValue.isTypeExcluded(double[][].class);

    assert MarshalledValue.isTypeExcluded(Void.class);
    assert MarshalledValue.isTypeExcluded(Boolean.class);
    assert MarshalledValue.isTypeExcluded(Character.class);
    assert MarshalledValue.isTypeExcluded(Byte.class);
    assert MarshalledValue.isTypeExcluded(Short.class);
    assert MarshalledValue.isTypeExcluded(Integer.class);
    assert MarshalledValue.isTypeExcluded(Long.class);
    assert MarshalledValue.isTypeExcluded(Float.class);
    assert MarshalledValue.isTypeExcluded(Double.class);

    assert MarshalledValue.isTypeExcluded(Boolean[].class);
    assert MarshalledValue.isTypeExcluded(Character[].class);
    assert MarshalledValue.isTypeExcluded(Byte[].class);
    assert MarshalledValue.isTypeExcluded(Short[].class);
    assert MarshalledValue.isTypeExcluded(Integer[].class);
    assert MarshalledValue.isTypeExcluded(Long[].class);
    assert MarshalledValue.isTypeExcluded(Float[].class);
    assert MarshalledValue.isTypeExcluded(Double[].class);

    assert MarshalledValue.isTypeExcluded(Boolean[][].class);
    assert MarshalledValue.isTypeExcluded(Character[][].class);
    assert MarshalledValue.isTypeExcluded(Byte[][].class);
    assert MarshalledValue.isTypeExcluded(Short[][].class);
    assert MarshalledValue.isTypeExcluded(Integer[][].class);
    assert MarshalledValue.isTypeExcluded(Long[][].class);
    assert MarshalledValue.isTypeExcluded(Float[][].class);
    assert MarshalledValue.isTypeExcluded(Double[][].class);
  }