content: package org.opencv.test.core;
  
  import java.util.Arrays;
  
  import org.opencv.core.Core;
  import org.opencv.core.CvException;
  import org.opencv.core.CvType;
  import org.opencv.core.Mat;
  import org.opencv.core.MatOfByte;
  import org.opencv.core.MatOfDouble;
  import org.opencv.test.OpenCVTestCase;
  import org.opencv.imgcodecs.Imgcodecs;
  
  public class MatOfByteTest extends OpenCVTestCase {
  
      public void testMatOfSubByteArray() {
          byte[] inputBytes = { 1,2,3,4,5 };
  
          MatOfByte m0 = new MatOfByte(inputBytes);
          MatOfByte m1 = new MatOfByte(0, inputBytes.length, inputBytes);
          MatOfByte m2 = new MatOfByte(1, inputBytes.length - 2, inputBytes);
  
          assertEquals(5.0, m0.size().height);
          assertEquals(1.0, m0.size().width);
  
          assertEquals(m0.get(0, 0)[0], m1.get(0, 0)[0]);
          assertEquals(m0.get((int) m0.size().height - 1, 0)[0], m1.get((int) m1.size().height - 1, 0)[0]);
  
          assertEquals(3.0, m2.size().height);
          assertEquals(1.0, m2.size().width);
  
          assertEquals(2.0, m2.get(0, 0)[0]);
          assertEquals(3.0, m2.get(1, 0)[0]);
          assertEquals(4.0, m2.get(2, 0)[0]);
      }
  
  
      public void testMatOfSubByteArray_BadArg() {
          byte[] inputBytes = { 1,2,3,4,5 };
  
          try {
              MatOfByte m1 = new MatOfByte(-1, inputBytes.length, inputBytes);
              fail("Missing check: offset < 0");
          } catch (IllegalArgumentException e) {
              // pass
          }
  
          try {
              MatOfByte m1 = new MatOfByte(0, inputBytes.length, null);
              fail("Missing check: NullPointerException");
          } catch (NullPointerException e) {
              // pass
          }
  
          try {
              MatOfByte m1 = new MatOfByte(0, -1, inputBytes);
              fail("Missing check: length < 0");
          } catch (IllegalArgumentException e) {
              // pass
          }
  
          try {
              MatOfByte m1 = new MatOfByte(1, inputBytes.length, inputBytes);
              fail("Missing check: buffer bounds");
          } catch (IllegalArgumentException e) {
              // pass
          }
      }
  
  }
  