content: // SPDX-License-Identifier: BSD-3-Clause
  // Copyright Contributors to the OpenColorIO Project.
  
  import junit.framework.TestCase;
  import org.OpenColorIO.*;
  import java.nio.*;
  
  public class PlanarImageDescTest extends TestCase {
      
      protected void setUp() {
      }
      
      protected void tearDown() {
      }
      
      public void test_interface() {
          
          int width = 2;
          int height = 2;
          int channels = 4;
          //
          float rpix[] = new float[]{0.1f, 0.2f, 0.3f, 0.4f};
          float gpix[] = new float[]{0.1f, 0.2f, 0.3f, 0.4f};
          float bpix[] = new float[]{0.1f, 0.2f, 0.3f, 0.4f};
          float apix[] = new float[]{1.0f, 1.0f, 1.0f, 1.0f};
          int alloc = width * height * Float.SIZE / 8;
          //
          FloatBuffer rbuf = ByteBuffer.allocateDirect(alloc).asFloatBuffer();
          rbuf.put(rpix);
          FloatBuffer gbuf = ByteBuffer.allocateDirect(alloc).asFloatBuffer();
          gbuf.put(gpix);
          FloatBuffer bbuf = ByteBuffer.allocateDirect(alloc).asFloatBuffer();
          bbuf.put(bpix);
          FloatBuffer abuf = ByteBuffer.allocateDirect(alloc).asFloatBuffer();
          abuf.put(apix);
          //
          PlanarImageDesc foo = new PlanarImageDesc(rbuf, gbuf, bbuf, abuf,
                                                    width, height);
          FloatBuffer trb = foo.getRData();
          FloatBuffer tgb = foo.getGData();
          FloatBuffer tbb = foo.getBData();
          FloatBuffer tab = foo.getAData();
          assertEquals(0.1f, trb.get(0));
          assertEquals(0.2f, tgb.get(1));
          assertEquals(0.3f, tbb.get(2));
          assertEquals(1.0f, tab.get(3));
          assertEquals(2, foo.getWidth());
          assertEquals(2, foo.getHeight());
          assertEquals(8, foo.getYStrideBytes());
          
      }
      
  }
  