From adb4729a87f6ee2be0205e8966f79b7cb2bac045 Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Tue, 6 Aug 2019 15:08:36 +0200 Subject: [PATCH] Add FilterParser test --- .../cameraview/filter/FilterParserTest.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 cameraview/src/androidTest/java/com/otaliastudios/cameraview/filter/FilterParserTest.java diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/filter/FilterParserTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/filter/FilterParserTest.java new file mode 100644 index 00000000..3a964b40 --- /dev/null +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/filter/FilterParserTest.java @@ -0,0 +1,52 @@ +package com.otaliastudios.cameraview.filter; + + +import android.content.res.TypedArray; + +import androidx.annotation.NonNull; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.filters.SmallTest; + +import com.otaliastudios.cameraview.BaseTest; +import com.otaliastudios.cameraview.R; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static junit.framework.TestCase.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class FilterParserTest extends BaseTest { + + @Test + public void testFallback() { + TypedArray array = mock(TypedArray.class); + when(array.hasValue(R.styleable.CameraView_cameraFilter)).thenReturn(false); + when(array.getString(R.styleable.CameraView_cameraFilter)).thenReturn(null); + FilterParser parser = new FilterParser(array); + assertNotNull(parser.getFilter()); + assertTrue(parser.getFilter() instanceof NoFilter); + } + @Test + public void testConstructor() { + TypedArray array = mock(TypedArray.class); + when(array.hasValue(R.styleable.CameraView_cameraFilter)).thenReturn(true); + when(array.getString(R.styleable.CameraView_cameraFilter)).thenReturn(MyFilter.class.getName()); + FilterParser parser = new FilterParser(array); + assertNotNull(parser.getFilter()); + assertTrue(parser.getFilter() instanceof MyFilter); + } + + public static class MyFilter extends BaseFilter { + @NonNull + @Override + public String getFragmentShader() { + return createDefaultFragmentShader(); + } + } +}