initial commit of JavaAPI unit tests

pull/13383/head
Kirill Kornyakov 14 years ago
parent 64c8d8f2a0
commit 56e26b9624
  1. 8
      modules/java/android_test/.classpath
  2. 41
      modules/java/android_test/.project
  3. 12
      modules/java/android_test/AndroidManifest.xml
  4. 12
      modules/java/android_test/default.properties
  5. BIN
      modules/java/android_test/res/drawable-hdpi/icon.png
  6. BIN
      modules/java/android_test/res/drawable-ldpi/icon.png
  7. BIN
      modules/java/android_test/res/drawable-mdpi/icon.png
  8. 12
      modules/java/android_test/res/layout/main.xml
  9. 5
      modules/java/android_test/res/values/strings.xml
  10. 25
      modules/java/android_test/src/org/opencv_test/CoreTest.java
  11. 35
      modules/java/android_test/src/org/opencv_test/ImgprocTest.java
  12. 30
      modules/java/android_test/src/org/opencv_test/MatTest.java
  13. 58
      modules/java/android_test/src/org/opencv_test/OpenCvTestCase.java

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="src" path="OpenCVJavaAPI_src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>OpenCV_Test</name>
<comment></comment>
<projects>
<project>OpenCVJavaAPI</project>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources>
<link>
<name>OpenCVJavaAPI_src</name>
<type>2</type>
<locationURI>_android_OpenCVJavaAPI_583dbd7b/src</locationURI>
</link>
</linkedResources>
</projectDescription>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.opencv_test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<instrumentation android:targetPackage="org.opencv_test" android:name="android.test.InstrumentationTestRunner" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" />
</application>
</manifest>

@ -0,0 +1,12 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
# Project target.
target=android-8
android.library.reference.1=../android/build

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World!</string>
<string name="app_name">OpenCV_Test</string>
</resources>

@ -0,0 +1,25 @@
package org.opencv_test;
import org.opencv.core;
public class CoreTest extends OpenCvTestCase {
public void test_1() {
super.test_1("CORE");
}
public void test_Can_Call_add() {
core.add(gray128, gray128, dst);
assertMatEqual(gray255, dst);
}
public void test_Can_Call_absdiff() {
core.absdiff(gray128, gray255, dst);
assertMatEqual(gray127, dst);
}
public void test_Can_Call_bitwise_and() {
core.bitwise_and(gray3, gray2, dst);
assertMatEqual(gray2, dst);
}
}

@ -0,0 +1,35 @@
package org.opencv_test;
import org.opencv.Mat;
import org.opencv.Size;
import org.opencv.imgproc;
public class ImgprocTest extends OpenCvTestCase {
public void test_1() {
super.test_1("IMGPROC");
}
//FIXME: this test crashes
//public void test_Can_Call_accumulate() {
// dst = new Mat(gray1.rows(), gray1.cols(), Mat.CvType.CV_32FC1);
// imgproc.accumulate(gray1, dst);
// assertMatEqual(gray1, dst);
//}
public void test_blur() {
Size sz = new Size(3, 3);
imgproc.blur(gray0, dst, sz);
assertMatEqual(gray0, dst);
imgproc.blur(gray255, dst, sz);
assertMatEqual(gray255, dst);
}
public void test_boxFilter() {
Size sz = new Size(3, 3);
imgproc.boxFilter(gray0, dst, 8, sz);
assertMatEqual(gray0, dst);
}
}

@ -0,0 +1,30 @@
package org.opencv_test;
import org.opencv.Mat;
public class MatTest extends OpenCvTestCase {
public void test_1() {
super.test_1("Mat");
}
public void test_Can_Create_Gray_Mat() {
Mat m = new Mat(1, 1, Mat.CvType.CV_8UC1);
assertFalse(m.empty());
}
public void test_Can_Create_RBG_Mat() {
Mat m = new Mat(1, 1, Mat.CvType.CV_8UC3);
assertFalse(m.empty());
}
public void test_Can_Get_Cols() {
Mat m = new Mat(10, 10, Mat.CvType.CV_8UC1);
assertEquals(10, m.rows());
}
public void test_Can_Get_Rows() {
Mat m = new Mat(10, 10, Mat.CvType.CV_8UC1);
assertEquals(10, m.rows());
}
}

@ -0,0 +1,58 @@
package org.opencv_test;
import org.opencv.Mat;
import org.opencv.core;
import android.test.AndroidTestCase;
import android.util.Log;
public class OpenCvTestCase extends AndroidTestCase {
static String TAG = "OpenCV";
static Mat gray0;
static Mat gray1;
static Mat gray2;
static Mat gray3;
static Mat gray127;
static Mat gray128;
static Mat gray255;
static Mat dst;
@Override
protected void setUp() throws Exception {
//Log.e(TAG, "setUp");
super.setUp();
gray0 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray0.setTo(0.0);
gray1 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray1.setTo(1.0);
gray2 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray2.setTo(2.0);
gray3 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray3.setTo(3.0);
gray127 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray127.setTo(127.0);
gray128 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray128.setTo(128.0);
gray255 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray255.setTo(256.0);
dst = new Mat(0, 0, Mat.CvType.CV_8UC1);
assertTrue(dst.empty());
}
public static void assertMatEqual(Mat m1, Mat m2) {
assertTrue(MatDifference(m1, m2) == 0.0);
}
static public double MatDifference(Mat m1, Mat m2) {
Mat cmp = new Mat(0, 0, Mat.CvType.CV_8UC1);
core.compare(m1, m2, cmp, core.CMP_EQ);
double num = 100.0 * (1.0 - Double.valueOf(core.countNonZero(cmp)) / Double.valueOf(cmp.rows() * cmp.cols()));
return num;
}
public void test_1(String label) {
Log.e(TAG, "================================================");
Log.e(TAG, "=============== " + label);
Log.e(TAG, "================================================");
}
}
Loading…
Cancel
Save