This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FYI: More java.awt.image.* tests


This patch (committed) adds/updates some tests for the SampleModel classes:

2006-07-17 David Gilbert <david.gilbert@object-refinery.com>

* gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java
(test): Added new checks,
* gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java
(test): Call new test methods,
(testBadTransferArray): New method,
(testNullTransferArray): New method,
* gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java
(test): Call new test methods,
(testTYPE_USHORT): New method,
(testTYPE_BYTE): New method,
* gnu/testlet/java/awt/image/SampleModel/getPixel.java
(testMethod1): Add new checks,
* gnu/testlet/java/awt/image/SampleModel/getPixels.java
(test): Call new test method,
(testMethod1MultiPixelPackedSampleModel): New method,
* gnu/testlet/java/awt/image/SinglePixelPackedSampleModel.java
(test2): Added new check.


Regards,

Dave


Index: gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java,v
retrieving revision 1.1
diff -u -r1.1 getBitOffset.java
--- gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java	14 Jul 2006 14:14:34 -0000	1.1
+++ gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java	17 Jul 2006 13:53:28 -0000
@@ -62,5 +62,18 @@
     harness.check(m2.getBitOffset(9), 24);
     harness.check(m2.getBitOffset(-1), 8);
 
+    MultiPixelPackedSampleModel m3 = new MultiPixelPackedSampleModel(
+            DataBuffer.TYPE_INT, 10, 20, 16);
+    harness.check(m3.getBitOffset(0), 0);
+    harness.check(m3.getBitOffset(1), 16);
+    harness.check(m3.getBitOffset(2), 0);
+    harness.check(m3.getBitOffset(3), 16);
+    harness.check(m3.getBitOffset(4), 0);
+    harness.check(m3.getBitOffset(5), 16);
+    harness.check(m3.getBitOffset(6), 0);
+    harness.check(m3.getBitOffset(7), 16);
+    harness.check(m3.getBitOffset(8), 0);
+    harness.check(m3.getBitOffset(9), 16);
+    harness.check(m3.getBitOffset(-1), -16);
   }
 }
Index: gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java,v
retrieving revision 1.1
diff -u -r1.1 setDataElements.java
--- gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java	14 Jul 2006 16:21:30 -0000	1.1
+++ gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java	17 Jul 2006 13:53:28 -0000
@@ -36,6 +36,8 @@
   {
     testTYPE_BYTE(harness);
     testTYPE_USHORT(harness);
+    testBadTransferArray(harness);
+    testNullTransferArray(harness);
   }
   
   public void testTYPE_BYTE(TestHarness harness)
@@ -52,7 +54,160 @@
     MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel(
             DataBuffer.TYPE_USHORT, 10, 20, 8);
     DataBuffer db = m.createDataBuffer();
-    m.setDataElements(2, 1, new byte[] {(byte) 0xFA}, db);
-    harness.check(db.getElem(6), 0xFA00);
+    m.setDataElements(0, 0, new byte[] {(byte) 0x12}, db);
+    harness.check(db.getElem(0), 0x1200);
+    m.setDataElements(1, 0, new byte[] {(byte) 0x34}, db);
+    harness.check(db.getElem(0), 0x1234);
+    m.setDataElements(2, 1, new byte[] {(byte) 0xAB}, db);
+    harness.check(db.getElem(6), 0xAB00);
+    m.setDataElements(3, 1, new byte[] {(byte) 0xCD}, db);
+    harness.check(db.getElem(6), 0xABCD);
+  }
+  
+  /**
+   * Tests for the required ClassCastException if the incoming Object is not
+   * an array of the TransferType.
+   * 
+   * @param harness  the test harness.
+   */
+  public void testBadTransferArray(TestHarness harness)
+  {
+    harness.checkPoint("testBadTransferArray()");
+    
+    // here a byte[] is expected...
+    MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel(
+              DataBuffer.TYPE_BYTE, 10, 20, 8);
+    DataBuffer db = m.createDataBuffer();
+    
+    boolean pass = false;
+    try
+    {
+      m.setDataElements(2, 1, new int[] {0xFA}, db);
+    }
+    catch (ClassCastException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+    
+    // here a byte[] is expected...
+    m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 8);
+    db = m.createDataBuffer();
+    
+    pass = false;
+    try
+    {
+      m.setDataElements(2, 1, new short[] {0xFA}, db);
+    }
+    catch (ClassCastException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+    
+    // here a short[] is expected...
+    m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 16);
+    db = m.createDataBuffer();
+    
+    pass = false;
+    try
+    {
+      m.setDataElements(2, 1, new byte[] {(byte) 0xFA}, db);
+    }
+    catch (ClassCastException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+    
+    // here a short[] is expected...
+    m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16);
+    db = m.createDataBuffer();
+    
+    pass = false;
+    try
+    {
+      m.setDataElements(2, 1, new byte[] {(byte) 0xFA}, db);
+    }
+    catch (ClassCastException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+  
   }
+
+  /**
+   * Tests for the required NullPointerException if the incoming Object is null.
+   * 
+   * @param harness  the test harness.
+   */
+  public void testNullTransferArray(TestHarness harness)
+  {
+    harness.checkPoint("testNullTransferArray()");
+    
+    // here a byte[] is expected...
+    MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel(
+              DataBuffer.TYPE_BYTE, 10, 20, 8);
+    DataBuffer db = m.createDataBuffer();
+    
+    boolean pass = false;
+    try
+    {
+      m.setDataElements(2, 1, null, db);
+    }
+    catch (NullPointerException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+    
+    // here a byte[] is expected...
+    m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 8);
+    db = m.createDataBuffer();
+    
+    pass = false;
+    try
+    {
+      m.setDataElements(2, 1, null, db);
+    }
+    catch (NullPointerException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+    
+    // here a short[] is expected...
+    m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 16);
+    db = m.createDataBuffer();
+    
+    pass = false;
+    try
+    {
+      m.setDataElements(2, 1, null, db);
+    }
+    catch (NullPointerException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+    
+    // here a short[] is expected...
+    m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16);
+    db = m.createDataBuffer();
+    
+    pass = false;
+    try
+    {
+      m.setDataElements(2, 1, null, db);
+    }
+    catch (NullPointerException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+  
+  }
+
+
 }
Index: gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java,v
retrieving revision 1.1
diff -u -r1.1 setSample.java
--- gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java	14 Jul 2006 14:14:34 -0000	1.1
+++ gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java	17 Jul 2006 13:53:28 -0000
@@ -36,6 +36,8 @@
   {
     test1(harness);
     test2(harness);
+    testTYPE_USHORT(harness);
+    testTYPE_BYTE(harness);
   }
     
   public void test1(TestHarness harness)
@@ -73,5 +75,36 @@
     m.setSample(5, 1, 0, 0xDD, db);
     harness.check(db.getElem(5), 0xAABBCCDD);
   }
+  
+  public void testTYPE_USHORT(TestHarness harness)
+  {
+    harness.checkPoint("TYPE_USHORT");
+    MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel(
+            DataBuffer.TYPE_USHORT, 10, 20, 8);
+    DataBuffer db = m.createDataBuffer();
+    m.setSample(0, 0, 0, 0x12, db);
+    harness.check(db.getElem(0), 0x1200);
+    m.setSample(1, 0, 0, 0x34, db);
+    harness.check(db.getElem(0), 0x1234);
+    m.setSample(2, 1, 0, 0xAB, db);
+    harness.check(db.getElem(6), 0xAB00);
+    m.setSample(3, 1, 0, 0xCD, db);
+    harness.check(db.getElem(6), 0xABCD);
+  }
 
+  public void testTYPE_BYTE(TestHarness harness)
+  {
+    harness.checkPoint("TYPE_BYTE");
+    MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel(
+            DataBuffer.TYPE_BYTE, 10, 20, 2);
+    DataBuffer db = m.createDataBuffer();
+    m.setSample(0, 0, 0, 0x01, db);
+    harness.check(db.getElem(0), 0x40);
+    m.setSample(1, 0, 0, 0x02, db);
+    harness.check(db.getElem(0), 0x60);
+    m.setSample(2, 1, 0, 0x03, db);
+    harness.check(db.getElem(3), 0x0C);
+    m.setSample(3, 1, 0, 0x04, db);
+    harness.check(db.getElem(3), 0x0C);
+  }
 }
Index: gnu/testlet/java/awt/image/SampleModel/getPixel.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/image/SampleModel/getPixel.java,v
retrieving revision 1.1
diff -u -r1.1 getPixel.java
--- gnu/testlet/java/awt/image/SampleModel/getPixel.java	13 Jul 2006 11:27:07 -0000	1.1
+++ gnu/testlet/java/awt/image/SampleModel/getPixel.java	17 Jul 2006 13:53:28 -0000
@@ -28,6 +28,7 @@
 import gnu.testlet.Testlet;
 
 import java.awt.image.DataBuffer;
+import java.awt.image.MultiPixelPackedSampleModel;
 import java.awt.image.SampleModel;
 import java.awt.image.SinglePixelPackedSampleModel;
 import java.util.Arrays;
@@ -69,6 +70,29 @@
       pass = true;
     }
     harness.check(pass);
+    
+    // try with a MultiPixelPackedSampleModel
+    m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 2);
+    db = m.createDataBuffer();
+    db.setElem(0, 27);
+    harness.check(m.getPixel(0, 0, (int[]) null, db)[0], 0);
+    harness.check(m.getPixel(1, 0, (int[]) null, db)[0], 1);
+    harness.check(m.getPixel(2, 0, (int[]) null, db)[0], 2);
+    harness.check(m.getPixel(3, 0, (int[]) null, db)[0], 3);
+    db.setElem(3, 27);
+    harness.check(m.getPixel(0, 1, (int[]) null, db)[0], 0);
+    harness.check(m.getPixel(1, 1, (int[]) null, db)[0], 1);
+    harness.check(m.getPixel(2, 1, (int[]) null, db)[0], 2);
+    harness.check(m.getPixel(3, 1, (int[]) null, db)[0], 3);
+    db.setElem(6, 0x18);
+    db.setElem(9, 0x30);
+    db.setElem(12, 0x1C);
+    harness.check(m.getPixel(1, 2, (int[]) null, db)[0], 1);
+    harness.check(m.getPixel(2, 2, (int[]) null, db)[0], 2);
+    harness.check(m.getPixel(1, 3, (int[]) null, db)[0], 3);
+    harness.check(m.getPixel(2, 3, (int[]) null, db)[0], 0);
+    harness.check(m.getPixel(1, 4, (int[]) null, db)[0], 1);
+    harness.check(m.getPixel(2, 4, (int[]) null, db)[0], 3);
   }
   
   public void testMethod2(TestHarness harness)
Index: gnu/testlet/java/awt/image/SampleModel/getPixels.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/image/SampleModel/getPixels.java,v
retrieving revision 1.1
diff -u -r1.1 getPixels.java
--- gnu/testlet/java/awt/image/SampleModel/getPixels.java	13 Jul 2006 11:27:07 -0000	1.1
+++ gnu/testlet/java/awt/image/SampleModel/getPixels.java	17 Jul 2006 13:53:28 -0000
@@ -28,6 +28,7 @@
 import gnu.testlet.Testlet;
 
 import java.awt.image.DataBuffer;
+import java.awt.image.MultiPixelPackedSampleModel;
 import java.awt.image.SampleModel;
 import java.awt.image.SinglePixelPackedSampleModel;
 import java.util.Arrays;
@@ -39,6 +40,7 @@
     testMethod1(harness);
     testMethod2(harness);
     testMethod3(harness);
+    testMethod1MultiPixelPackedSampleModel(harness);
   }
   
   public void testMethod1(TestHarness harness)
@@ -142,4 +144,37 @@
     }
     harness.check(pass);
   }
+  
+  public void testMethod1MultiPixelPackedSampleModel(TestHarness harness)
+  {
+    harness.checkPoint("(int, int, int, int, int[], DataBuffer)");
+    SampleModel m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 
+            20, 2);
+    DataBuffer db = m.createDataBuffer();
+    int[] pixel = new int[6];
+    m.getPixels(1, 2, 2, 3, pixel, db);
+    harness.check(Arrays.equals(pixel, new int[] {0, 0, 0, 0, 0, 0}));
+    db.setElem(6, 0x18);
+    db.setElem(9, 0x30);
+    db.setElem(12, 0x1C);
+    m.getPixels(1, 2, 2, 3, pixel, db);
+    harness.check(Arrays.equals(pixel, new int[] {1, 2, 3, 0, 1, 3}));
+    
+    // if the incoming array is null, a new one is created
+    pixel = m.getPixels(1, 2, 2, 3, (int[]) null, db);
+    harness.check(Arrays.equals(pixel, new int[] {1, 2, 3, 0, 1, 3}));
+    
+    // try null data buffer
+    boolean pass = false;
+    try
+    {
+      m.getPixels(1, 2, 2, 3, pixel, null);
+    }
+    catch (NullPointerException e)
+    {
+      pass = true;
+    }
+    harness.check(pass);
+  }
+
 }
Index: gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSampleSize.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSampleSize.java,v
retrieving revision 1.3
diff -u -r1.3 getSampleSize.java
--- gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSampleSize.java	13 Jul 2006 16:02:06 -0000	1.3
+++ gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSampleSize.java	17 Jul 2006 13:53:28 -0000
@@ -116,5 +116,11 @@
     harness.check(sizes[1], 8);
     harness.check(sizes[2], 8);
     harness.check(sizes[3], 8);
+    
+    // if we alter the returned array, does that affect the model's state
+    sizes[0] = 99;
+    int[] sizes2 = m.getSampleSize();
+    harness.check(sizes2 != sizes);
+    harness.check(sizes2[0], 8);
   }
 }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]