From b0e1cb473a9453727c05f40d870121136db98dda Mon Sep 17 00:00:00 2001 From: Andrey Pavlenko Date: Fri, 11 Jan 2013 09:13:25 +0400 Subject: [PATCH] more tests fixes --- .../src/org/opencv/test/OpenCVTestCase.java | 23 +++--- .../ORBDescriptorExtractorTest.java | 8 +- .../SIFTDescriptorExtractorTest.java | 8 +- .../src/org/opencv/test/OpenCVTestCase.java | 73 +++++++++---------- 4 files changed, 57 insertions(+), 55 deletions(-) diff --git a/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java b/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java index b24d858ee3..59fcc27672 100644 --- a/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java +++ b/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java @@ -1,8 +1,10 @@ package org.opencv.test; +import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.FileReader; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; @@ -426,24 +428,19 @@ public class OpenCVTestCase extends TestCase { } protected static String readFile(String path) { - FileInputStream stream = null; try { - stream = new FileInputStream(new File(path)); - FileChannel fc = stream.getChannel(); - MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, - fc.size()); - return Charset.defaultCharset().decode(bb).toString(); + BufferedReader br = new BufferedReader(new FileReader(path)); + String line; + StringBuffer result = new StringBuffer(); + while ((line = br.readLine()) != null) { + result.append(line); + result.append("\n"); + } + return result.toString(); } catch (IOException e) { OpenCVTestRunner.Log("Failed to read file \"" + path + "\". Exception is thrown: " + e); return null; - } finally { - if (stream != null) - try { - stream.close(); - } catch (IOException e) { - OpenCVTestRunner.Log("Exception is thrown: " + e); - } } } diff --git a/modules/java/android_test/src/org/opencv/test/features2d/ORBDescriptorExtractorTest.java b/modules/java/android_test/src/org/opencv/test/features2d/ORBDescriptorExtractorTest.java index e9b65d1f41..4ccf09808a 100644 --- a/modules/java/android_test/src/org/opencv/test/features2d/ORBDescriptorExtractorTest.java +++ b/modules/java/android_test/src/org/opencv/test/features2d/ORBDescriptorExtractorTest.java @@ -100,7 +100,9 @@ public class ORBDescriptorExtractorTest extends OpenCVTestCase { extractor.write(filename); String truth = "\n\nFeature2D.ORB\n2\n31\n0\n500\n8\n31\n1.2000000476837158e+00\n0\n\n"; - assertEquals(truth, readFile(filename)); + String actual = readFile(filename); + actual = actual.replaceAll("e\\+000", "e+00"); // NOTE: workaround for different platforms double representation + assertEquals(truth, actual); } public void testWriteYml() { @@ -109,7 +111,9 @@ public class ORBDescriptorExtractorTest extends OpenCVTestCase { extractor.write(filename); String truth = "%YAML:1.0\nname: \"Feature2D.ORB\"\nWTA_K: 2\nedgeThreshold: 31\nfirstLevel: 0\nnFeatures: 500\nnLevels: 8\npatchSize: 31\nscaleFactor: 1.2000000476837158e+00\nscoreType: 0\n"; - assertEquals(truth, readFile(filename)); + String actual = readFile(filename); + actual = actual.replaceAll("e\\+000", "e+00"); // NOTE: workaround for different platforms double representation + assertEquals(truth, actual); } } diff --git a/modules/java/android_test/src/org/opencv/test/features2d/SIFTDescriptorExtractorTest.java b/modules/java/android_test/src/org/opencv/test/features2d/SIFTDescriptorExtractorTest.java index 2fd83eb346..8add9f4933 100644 --- a/modules/java/android_test/src/org/opencv/test/features2d/SIFTDescriptorExtractorTest.java +++ b/modules/java/android_test/src/org/opencv/test/features2d/SIFTDescriptorExtractorTest.java @@ -87,7 +87,9 @@ public class SIFTDescriptorExtractorTest extends OpenCVTestCase { extractor.write(filename); String truth = "\n\nFeature2D.SIFT\n4.0000000000000001e-02\n10.\n0\n3\n1.6000000000000001e+00\n\n"; - assertEquals(truth, readFile(filename)); + String actual = readFile(filename); + actual = actual.replaceAll("e([+-])0(\\d\\d)", "e$1$2"); // NOTE: workaround for different platforms double representation + assertEquals(truth, actual); } public void testWriteYml() { @@ -96,7 +98,9 @@ public class SIFTDescriptorExtractorTest extends OpenCVTestCase { extractor.write(filename); String truth = "%YAML:1.0\nname: \"Feature2D.SIFT\"\ncontrastThreshold: 4.0000000000000001e-02\nedgeThreshold: 10.\nnFeatures: 0\nnOctaveLayers: 3\nsigma: 1.6000000000000001e+00\n"; - assertEquals(truth, readFile(filename)); + String actual = readFile(filename); + actual = actual.replaceAll("e([+-])0(\\d\\d)", "e$1$2"); // NOTE: workaround for different platforms double representation + assertEquals(truth, actual); } } diff --git a/modules/java/java_test/src/org/opencv/test/OpenCVTestCase.java b/modules/java/java_test/src/org/opencv/test/OpenCVTestCase.java index 75e240da30..15ff735f83 100644 --- a/modules/java/java_test/src/org/opencv/test/OpenCVTestCase.java +++ b/modules/java/java_test/src/org/opencv/test/OpenCVTestCase.java @@ -2,9 +2,11 @@ package org.opencv.test; +import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.FileReader; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; @@ -94,31 +96,31 @@ public class OpenCVTestCase extends TestCase { protected void setUp() throws Exception { super.setUp(); - try { - System.loadLibrary("opencv_java"); - } catch (SecurityException e) { - System.out.println(e.toString()); - System.exit(-1); - } catch (UnsatisfiedLinkError e) { - System.out.println(e.toString()); - System.exit(-1); - } - - String pwd; - try { - pwd = new File(".").getCanonicalPath() + File.separator; - } catch (IOException e) { - System.out.println(e); - return; - } - - OpenCVTestRunner.LENA_PATH = pwd + "res/drawable/lena.jpg"; - OpenCVTestRunner.CHESS_PATH = pwd + "res/drawable/chessboard.jpg"; - OpenCVTestRunner.LBPCASCADE_FRONTALFACE_PATH = pwd + "res/raw/lbpcascade_frontalface.xml"; - - assert(new File(OpenCVTestRunner.LENA_PATH).exists()); - assert(new File(OpenCVTestRunner.CHESS_PATH).exists()); - assert(new File(OpenCVTestRunner.LBPCASCADE_FRONTALFACE_PATH).exists()); + try { + System.loadLibrary("opencv_java"); + } catch (SecurityException e) { + System.out.println(e.toString()); + System.exit(-1); + } catch (UnsatisfiedLinkError e) { + System.out.println(e.toString()); + System.exit(-1); + } + + String pwd; + try { + pwd = new File(".").getCanonicalPath() + File.separator; + } catch (IOException e) { + System.out.println(e); + return; + } + + OpenCVTestRunner.LENA_PATH = pwd + "res/drawable/lena.jpg"; + OpenCVTestRunner.CHESS_PATH = pwd + "res/drawable/chessboard.jpg"; + OpenCVTestRunner.LBPCASCADE_FRONTALFACE_PATH = pwd + "res/raw/lbpcascade_frontalface.xml"; + + assert(new File(OpenCVTestRunner.LENA_PATH).exists()); + assert(new File(OpenCVTestRunner.CHESS_PATH).exists()); + assert(new File(OpenCVTestRunner.LBPCASCADE_FRONTALFACE_PATH).exists()); dst = new Mat(); assertTrue(dst.empty()); @@ -452,24 +454,19 @@ public class OpenCVTestCase extends TestCase { } protected static String readFile(String path) { - FileInputStream stream = null; try { - stream = new FileInputStream(new File(path)); - FileChannel fc = stream.getChannel(); - MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, - fc.size()); - return Charset.defaultCharset().decode(bb).toString(); + BufferedReader br = new BufferedReader(new FileReader(path)); + String line; + StringBuffer result = new StringBuffer(); + while ((line = br.readLine()) != null) { + result.append(line); + result.append("\n"); + } + return result.toString(); } catch (IOException e) { OpenCVTestRunner.Log("Failed to read file \"" + path + "\". Exception is thrown: " + e); return null; - } finally { - if (stream != null) - try { - stream.close(); - } catch (IOException e) { - OpenCVTestRunner.Log("Exception is thrown: " + e); - } } }