pull/37/head
Mattia Iavarone 8 years ago
parent bd6d8cdaa5
commit 4fb19d7faa
  1. 18
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/AspectRatioTest.java
  2. 1
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraCallbacksTest.java
  3. 19
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraOptions1Test.java
  4. 11
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraUtilsTest.java
  5. 63
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java
  6. 2
      cameraview/src/main/java/com/otaliastudios/cameraview/AspectRatio.java
  7. 11
      cameraview/src/test/java/com/otaliastudios/cameraview/SizeTest.java

@ -29,13 +29,31 @@ public class AspectRatioTest {
@Test @Test
public void testEquals() { public void testEquals() {
AspectRatio ratio = AspectRatio.of(50, 10); AspectRatio ratio = AspectRatio.of(50, 10);
assertFalse(ratio.equals(null));
assertTrue(ratio.equals(ratio));
AspectRatio ratio1 = AspectRatio.of(5, 1); AspectRatio ratio1 = AspectRatio.of(5, 1);
assertTrue(ratio.equals(ratio1)); assertTrue(ratio.equals(ratio1));
AspectRatio.sCache.clear();
AspectRatio ratio2 = AspectRatio.of(500, 100);
assertTrue(ratio.equals(ratio2));
Size size = new Size(500, 100); Size size = new Size(500, 100);
assertTrue(ratio.matches(size)); assertTrue(ratio.matches(size));
} }
@Test
public void testCompare() {
AspectRatio ratio1 = AspectRatio.of(10, 2);
AspectRatio ratio2 = AspectRatio.of(10, 10);
AspectRatio ratio3 = AspectRatio.of(2, 10);
assertTrue(ratio1.compareTo(ratio2) > 0);
assertTrue(ratio1.compareTo(ratio3) < 0);
assertTrue(ratio1.compareTo(ratio1) == 0);
assertNotEquals(ratio1.hashCode(), ratio2.hashCode());
}
@Test @Test
public void testInverse() { public void testInverse() {
AspectRatio ratio = AspectRatio.of(50, 10); AspectRatio ratio = AspectRatio.of(50, 10);

@ -75,6 +75,7 @@ public class CameraCallbacksTest extends BaseTest {
} }
}; };
camera.addCameraListener(listener); camera.addCameraListener(listener);
camera.addCameraListener(new CameraListener() {}); // Add another so the class is covered.
callbacks = camera.mCameraCallbacks; callbacks = camera.mCameraCallbacks;
task = new Task<>(); task = new Task<>();
task.listen(); task.listen();

@ -11,6 +11,7 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -51,9 +52,27 @@ public class CameraOptions1Test {
assertEquals(o.getSupportedFacing().size(), supported.size()); assertEquals(o.getSupportedFacing().size(), supported.size());
for (Facing facing : s) { for (Facing facing : s) {
assertTrue(supported.contains(m.<Integer>map(facing))); assertTrue(supported.contains(m.<Integer>map(facing)));
assertTrue(o.supports(facing));
} }
} }
@Test
public void testGestureActions() {
Camera.Parameters params = mock(Camera.Parameters.class);
when(params.getSupportedFocusModes()).thenReturn(Collections.<String>emptyList());
when(params.isZoomSupported()).thenReturn(true);
when(params.getMaxExposureCompensation()).thenReturn(0);
when(params.getMinExposureCompensation()).thenReturn(0);
CameraOptions o = new CameraOptions(params);
assertFalse(o.supports(GestureAction.FOCUS));
assertFalse(o.supports(GestureAction.FOCUS_WITH_MARKER));
assertTrue(o.supports(GestureAction.CAPTURE));
assertTrue(o.supports(GestureAction.NONE));
assertTrue(o.supports(GestureAction.ZOOM));
assertFalse(o.supports(GestureAction.EXPOSURE_CORRECTION));
}
@Test @Test
public void testWhiteBalance() { public void testWhiteBalance() {
Camera.Parameters params = mock(Camera.Parameters.class); Camera.Parameters params = mock(Camera.Parameters.class);

@ -47,7 +47,16 @@ public class CameraUtilsTest {
source.compress(Bitmap.CompressFormat.PNG, 100, os); source.compress(Bitmap.CompressFormat.PNG, 100, os);
// No orientation. // No orientation.
Bitmap other = CameraUtils.decodeBitmap(os.toByteArray()); final Task<Bitmap> decode = new Task<>();
decode.listen();
CameraUtils.decodeBitmap(os.toByteArray(), new CameraUtils.BitmapCallback() {
@Override
public void onBitmapReady(Bitmap bitmap) {
decode.end(bitmap);
}
});
Bitmap other = decode.await(800);
assertNotNull(other);
assertEquals(100, w); assertEquals(100, w);
assertEquals(200, h); assertEquals(200, h);
assertEquals(color, other.getPixel(0, 0)); assertEquals(color, other.getPixel(0, 0));

@ -267,6 +267,16 @@ public class CameraViewTest extends BaseTest {
mockController.setMockPreviewSize(size); mockController.setMockPreviewSize(size);
} }
@Test
public void testMeasure_early() {
mockController.setMockPreviewSize(null);
cameraView.measure(
makeMeasureSpec(500, EXACTLY),
makeMeasureSpec(500, EXACTLY));
assertEquals(cameraView.getMeasuredWidth(), 500);
assertEquals(cameraView.getMeasuredHeight(), 500);
}
@Test @Test
public void testMeasure_matchParentBoth() { public void testMeasure_matchParentBoth() {
mockPreviewSize(); mockPreviewSize();
@ -410,6 +420,34 @@ public class CameraViewTest extends BaseTest {
//endregion //endregion
//region test autofocus
@Test(expected = IllegalArgumentException.class)
public void testStartAutoFocus_illegal() {
cameraView.startAutoFocus(-1, -1);
}
@Test(expected = IllegalArgumentException.class)
public void testStartAutoFocus_illegal2() {
cameraView.setLeft(0);
cameraView.setRight(100);
cameraView.setTop(0);
cameraView.setBottom(100);
cameraView.startAutoFocus(200, 200);
}
@Test
public void testStartAutoFocus() {
cameraView.setLeft(0);
cameraView.setRight(100);
cameraView.setTop(0);
cameraView.setBottom(100);
cameraView.startAutoFocus(50, 50);
assertTrue(mockController.mFocusStarted);
}
//endregion
//region test setParameters //region test setParameters
@Test @Test
@ -428,6 +466,11 @@ public class CameraViewTest extends BaseTest {
assertEquals(cameraView.getJpegQuality(), 100); assertEquals(cameraView.getJpegQuality(), 100);
} }
@Test(expected = IllegalArgumentException.class)
public void testSetJpegQuality_illegal() {
cameraView.setJpegQuality(-10);
}
@Test @Test
public void testSetFlash() { public void testSetFlash() {
cameraView.setFlash(Flash.TORCH); cameraView.setFlash(Flash.TORCH);
@ -436,6 +479,17 @@ public class CameraViewTest extends BaseTest {
assertEquals(cameraView.getFlash(), Flash.OFF); assertEquals(cameraView.getFlash(), Flash.OFF);
} }
@Test
public void testToggleFlash() {
cameraView.setFlash(Flash.OFF);
cameraView.toggleFlash();
assertEquals(cameraView.getFlash(), Flash.ON);
cameraView.toggleFlash();
assertEquals(cameraView.getFlash(), Flash.AUTO);
cameraView.toggleFlash();
assertEquals(cameraView.getFlash(), Flash.OFF);
}
@Test @Test
public void testSetFacing() { public void testSetFacing() {
cameraView.setFacing(Facing.FRONT); cameraView.setFacing(Facing.FRONT);
@ -444,6 +498,15 @@ public class CameraViewTest extends BaseTest {
assertEquals(cameraView.getFacing(), Facing.BACK); assertEquals(cameraView.getFacing(), Facing.BACK);
} }
@Test
public void testToggleFacing() {
cameraView.setFacing(Facing.FRONT);
cameraView.toggleFacing();
assertEquals(cameraView.getFacing(), Facing.BACK);
cameraView.toggleFacing();
assertEquals(cameraView.getFacing(), Facing.FRONT);
}
@Test @Test
public void testSetGrid() { public void testSetGrid() {
cameraView.setGrid(Grid.DRAW_3X3); cameraView.setGrid(Grid.DRAW_3X3);

@ -7,7 +7,7 @@ import android.util.SparseArray;
public class AspectRatio implements Comparable<AspectRatio>, Parcelable { public class AspectRatio implements Comparable<AspectRatio>, Parcelable {
private final static SparseArray<SparseArray<AspectRatio>> sCache = new SparseArray<>(16); final static SparseArray<SparseArray<AspectRatio>> sCache = new SparseArray<>(16);
private final int mX; private final int mX;
private final int mY; private final int mY;

@ -19,12 +19,23 @@ public class SizeTest {
@Test @Test
public void testEquals() { public void testEquals() {
Size s1 = new Size(10, 20); Size s1 = new Size(10, 20);
assertTrue(s1.equals(s1));
assertFalse(s1.equals(null));
assertFalse(s1.equals(""));
Size s2 = new Size(10, 0); Size s2 = new Size(10, 0);
Size s3 = new Size(10, 20); Size s3 = new Size(10, 20);
assertTrue(s1.equals(s3)); assertTrue(s1.equals(s3));
assertFalse(s1.equals(s2)); assertFalse(s1.equals(s2));
} }
@Test
public void testHashCode() {
Size s1 = new Size(10, 20);
Size s2 = new Size(10, 0);
assertNotEquals(s1.hashCode(), s2.hashCode());
}
@Test @Test
public void testCompare() { public void testCompare() {
Size s1 = new Size(10, 20); Size s1 = new Size(10, 20);

Loading…
Cancel
Save