Commit ec6fb0be authored by Kirill Kornyakov's avatar Kirill Kornyakov

java tests: now only OpenCVTestRunner contains android specific stuff

parent 3fc87907
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
android:versionName="1.0"> android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" /> <uses-sdk android:minSdkVersion="8" />
<instrumentation android:targetPackage="org.opencv.test" android:name="android.test.InstrumentationTestRunner" /> <instrumentation android:targetPackage="org.opencv.test" android:name="OpenCVTestRunner"></instrumentation>
<application android:icon="@drawable/icon" android:label="@string/app_name"> <application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" /> <uses-library android:name="android.test.runner" />
</application> </application>
......
...@@ -10,7 +10,7 @@ public class MatTest extends OpenCVTestCase { ...@@ -10,7 +10,7 @@ public class MatTest extends OpenCVTestCase {
public void testChannels() { public void testChannels() {
//fail("Not yet implemented"); //fail("Not yet implemented");
utils.Log(grayRnd.dump()); //utils.Log(grayRnd.dump());
} }
public void testClone() { public void testClone() {
......
...@@ -9,8 +9,6 @@ import org.opencv.highgui; ...@@ -9,8 +9,6 @@ import org.opencv.highgui;
public class OpenCVTestCase extends TestCase { public class OpenCVTestCase extends TestCase {
static String LENA = "/data/data/org.opencv.test/files/lena.jpg";
static int matSize = 10; static int matSize = 10;
static Mat dst; static Mat dst;
...@@ -73,10 +71,10 @@ public class OpenCVTestCase extends TestCase { ...@@ -73,10 +71,10 @@ public class OpenCVTestCase extends TestCase {
gray0_64f = new Mat(matSize, matSize, Mat.CvType.CV_64FC1); gray0_64f.setTo(0.0); gray0_64f = new Mat(matSize, matSize, Mat.CvType.CV_64FC1); gray0_64f.setTo(0.0);
gray0_64f_1d = new Mat(1, matSize, Mat.CvType.CV_64FC1); gray0_64f_1d.setTo(0.0); gray0_64f_1d = new Mat(1, matSize, Mat.CvType.CV_64FC1); gray0_64f_1d.setTo(0.0);
rgbLena = highgui.imread(LENA);
rgba0 = new Mat(matSize, matSize, Mat.CvType.CV_8UC4); rgba0.setTo(0, 0, 0, 0); rgba0 = new Mat(matSize, matSize, Mat.CvType.CV_8UC4); rgba0.setTo(0, 0, 0, 0);
rgba128 = new Mat(matSize, matSize, Mat.CvType.CV_8UC4); rgba128.setTo(128, 128, 128, 128); rgba128 = new Mat(matSize, matSize, Mat.CvType.CV_8UC4); rgba128.setTo(128, 128, 128, 128);
rgbLena = highgui.imread(OpenCVTestRunner.LENA_PATH);
} }
public static void assertMatEqual(Mat m1, Mat m2) { public static void assertMatEqual(Mat m1, Mat m2) {
...@@ -93,10 +91,8 @@ public class OpenCVTestCase extends TestCase { ...@@ -93,10 +91,8 @@ public class OpenCVTestCase extends TestCase {
} }
public void test_1(String label) { public void test_1(String label) {
utils.Log("================================================"); OpenCVTestRunner.Log("================================================");
utils.Log("=============== " + label); OpenCVTestRunner.Log("=============== " + label);
utils.Log("================================================"); OpenCVTestRunner.Log("================================================");
new utils().ExportLena();
} }
} }
package org.opencv.test;
import java.io.FileOutputStream;
import java.util.Collections;
import java.util.List;
import junit.framework.TestCase;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.test.AndroidTestRunner;
import android.test.InstrumentationTestRunner;
import android.util.Log;
/**
* This only class is Android specific.
* The original idea about test order randomization is from marek.defecinski blog.
*/
public class OpenCVTestRunner extends InstrumentationTestRunner {
public static String LENA_PATH = "/data/data/org.opencv.test/files/lena.jpg";
private AndroidTestRunner androidTestRunner;
private static String TAG = "opencv_test_java";
static public void Log(String message) {
Log.e(TAG, message);
}
@Override
public void onStart() {
ExportLena();
List<TestCase> testCases = androidTestRunner.getTestCases();
Collections.shuffle(testCases); //shuffle the tests order
super.onStart();
}
@Override
protected AndroidTestRunner getAndroidTestRunner() {
androidTestRunner = super.getAndroidTestRunner();
return androidTestRunner;
}
private void ExportLena() {
try {
Bitmap mBitmap = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.lena);
FileOutputStream fos = this.getContext().openFileOutput("lena.jpg", Context.MODE_WORLD_READABLE);
mBitmap.compress(CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
}
catch (Exception e) {
Log("Tried to write lena.jpg, but: " + e.toString());
}
}
}
...@@ -35,8 +35,9 @@ public class coreTest extends OpenCVTestCase { ...@@ -35,8 +35,9 @@ public class coreTest extends OpenCVTestCase {
} }
public void testAddWeightedMatDoubleMatDoubleDoubleMatInt() { public void testAddWeightedMatDoubleMatDoubleDoubleMatInt() {
core.addWeighted(gray1, 126.0, gray127, 1.0, 2.0, dst, gray255_32f.depth()); fail("Not yet implemented");
assertTrue(core.CV_32F == dst.depth()); //core.addWeighted(gray1, 126.0, gray127, 1.0, 2.0, dst, gray255_32f.depth());
//assertTrue(core.CV_32F == dst.depth());
} }
public void testBitwise_andMatMatMat() { public void testBitwise_andMatMatMat() {
......
...@@ -31,7 +31,7 @@ public class highguiTest extends OpenCVTestCase { ...@@ -31,7 +31,7 @@ public class highguiTest extends OpenCVTestCase {
} }
public void testImreadString() { public void testImreadString() {
dst = highgui.imread(LENA); dst = highgui.imread(OpenCVTestRunner.LENA_PATH);
assertTrue(!dst.empty()); assertTrue(!dst.empty());
assertEquals(3, dst.channels()); assertEquals(3, dst.channels());
assertTrue(512 == dst.cols()); assertTrue(512 == dst.cols());
...@@ -39,7 +39,7 @@ public class highguiTest extends OpenCVTestCase { ...@@ -39,7 +39,7 @@ public class highguiTest extends OpenCVTestCase {
} }
public void testImreadStringInt() { public void testImreadStringInt() {
dst = highgui.imread(LENA, 0); dst = highgui.imread(OpenCVTestRunner.LENA_PATH, 0);
assertTrue(!dst.empty()); assertTrue(!dst.empty());
assertEquals(1, dst.channels()); assertEquals(1, dst.channels());
assertTrue(512 == dst.cols()); assertTrue(512 == dst.cols());
......
package org.opencv.test;
import java.io.FileOutputStream;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Bitmap.CompressFormat;
import android.test.AndroidTestCase;
import android.util.Log;
public class utils extends AndroidTestCase {
static String TAG = "opencv_test_java";
static public void Log(String message) {
Log.e(TAG, message);
}
public void ExportLena() {
//TODO: can we run this code just once, not for every test case?
try {
Bitmap mBitmap = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.lena);
FileOutputStream fos = this.getContext().openFileOutput("lena.jpg", Context.MODE_WORLD_READABLE);
mBitmap.compress(CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
}
catch (Exception e) {
Log.e(TAG, "Tried to write lena.jpg, but: " + e.toString());
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment