Loading services/tests/mockingservicestests/src/com/android/server/display/color/DisplayWhiteBalanceTintControllerTest.java +50 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.google.common.truth.Truth.assertWithMessage; import static org.junit.Assert.assertArrayEquals; import android.content.Context; import android.content.res.Resources; import android.os.Binder; Loading Loading @@ -184,8 +186,56 @@ public class DisplayWhiteBalanceTintControllerTest { .isFalse(); } /** * Matrix should match the precalculated one for given cct and display primaries. */ @Test public void displayWhiteBalance_validateTransformMatrix() { DisplayPrimaries displayPrimaries = new DisplayPrimaries(); displayPrimaries.red = new CieXyz(); displayPrimaries.red.X = 0.412315f; displayPrimaries.red.Y = 0.212600f; displayPrimaries.red.Z = 0.019327f; displayPrimaries.green = new CieXyz(); displayPrimaries.green.X = 0.357600f; displayPrimaries.green.Y = 0.715200f; displayPrimaries.green.Z = 0.119200f; displayPrimaries.blue = new CieXyz(); displayPrimaries.blue.X = 0.180500f; displayPrimaries.blue.Y = 0.072200f; displayPrimaries.blue.Z = 0.950633f; displayPrimaries.white = new CieXyz(); displayPrimaries.white.X = 0.950456f; displayPrimaries.white.Y = 1.000000f; displayPrimaries.white.Z = 1.089058f; doReturn(displayPrimaries) .when(() -> SurfaceControl.getDisplayNativePrimaries(mDisplayToken)); setUpTintController(); assertWithMessage("Setup with valid SurfaceControl failed") .that(mDisplayWhiteBalanceTintController.mSetUp) .isTrue(); final int cct = 6500; mDisplayWhiteBalanceTintController.setMatrix(cct); assertWithMessage("Failed to set temperature") .that(mDisplayWhiteBalanceTintController.mCurrentColorTemperature) .isEqualTo(cct); float[] matrixDwb = mDisplayWhiteBalanceTintController.getMatrix(); final float[] expectedMatrixDwb = { 0.962880f, -0.001780f, -0.000158f, 0.0f, 0.035765f, 0.929988f, 0.000858f, 0.0f, 0.001354f, -0.000470f, 0.948327f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }; assertArrayEquals("Unexpected DWB matrix", matrixDwb, expectedMatrixDwb, 1e-6f /* tolerance */); } private void setUpTintController() { mDisplayWhiteBalanceTintController = new DisplayWhiteBalanceTintController(); mDisplayWhiteBalanceTintController.setUp(mMockedContext, true); mDisplayWhiteBalanceTintController.setActivated(true); } } services/tests/servicestests/src/com/android/server/display/whitebalance/AmbientLuxTest.java +22 −2 Original line number Diff line number Diff line Loading @@ -78,6 +78,8 @@ public final class AmbientLuxTest { @Mock private TypedArray mBiases; @Mock private TypedArray mHighLightBrightnesses; @Mock private TypedArray mHighLightBiases; @Mock private TypedArray mAmbientColorTemperatures; @Mock private TypedArray mDisplayColorTemperatures; @Before public void setUp() throws Exception { Loading Loading @@ -105,10 +107,10 @@ public final class AmbientLuxTest { HIGH_LIGHT_AMBIENT_COLOR_TEMPERATURE); when(mResourcesSpy.obtainTypedArray( R.array.config_displayWhiteBalanceAmbientColorTemperatures)) .thenReturn(createTypedArray()); .thenReturn(mAmbientColorTemperatures); when(mResourcesSpy.obtainTypedArray( R.array.config_displayWhiteBalanceDisplayColorTemperatures)) .thenReturn(createTypedArray()); .thenReturn(mDisplayColorTemperatures); when(mResourcesSpy.obtainTypedArray( R.array.config_displayWhiteBalanceLowLightAmbientBrightnesses)) Loading Loading @@ -388,6 +390,16 @@ public final class AmbientLuxTest { assertEquals(controller.mPendingAmbientColorTemperature, ambientColorTemperature, 0.001); } @Test public void testWhiteBalance_updateWithEmptyFilter() throws Exception { setAmbientColorTemperatures(5300.0f, 6000.0f, 7000.0f, 8000.0f); setDisplayColorTemperatures(6300.0f, 6400.0f, 6850.0f, 7450.0f); DisplayWhiteBalanceController controller = DisplayWhiteBalanceFactory.create(mHandler, mSensorManagerMock, mResourcesSpy); controller.updateAmbientColorTemperature(); assertEquals(-1.0f, controller.mPendingAmbientColorTemperature, 0); } void mockThrottler() { when(mResourcesSpy.getInteger( R.integer.config_displayWhiteBalanceDecreaseDebounce)).thenReturn(0); Loading Loading @@ -455,6 +467,14 @@ public final class AmbientLuxTest { setFloatArrayResource(mHighLightBiases, vals); } private void setAmbientColorTemperatures(float... vals) { setFloatArrayResource(mAmbientColorTemperatures, vals); } private void setDisplayColorTemperatures(float... vals) { setFloatArrayResource(mDisplayColorTemperatures, vals); } private void setFloatArrayResource(TypedArray array, float[] vals) { when(array.length()).thenReturn(vals.length); for (int i = 0; i < vals.length; i++) { Loading Loading
services/tests/mockingservicestests/src/com/android/server/display/color/DisplayWhiteBalanceTintControllerTest.java +50 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.google.common.truth.Truth.assertWithMessage; import static org.junit.Assert.assertArrayEquals; import android.content.Context; import android.content.res.Resources; import android.os.Binder; Loading Loading @@ -184,8 +186,56 @@ public class DisplayWhiteBalanceTintControllerTest { .isFalse(); } /** * Matrix should match the precalculated one for given cct and display primaries. */ @Test public void displayWhiteBalance_validateTransformMatrix() { DisplayPrimaries displayPrimaries = new DisplayPrimaries(); displayPrimaries.red = new CieXyz(); displayPrimaries.red.X = 0.412315f; displayPrimaries.red.Y = 0.212600f; displayPrimaries.red.Z = 0.019327f; displayPrimaries.green = new CieXyz(); displayPrimaries.green.X = 0.357600f; displayPrimaries.green.Y = 0.715200f; displayPrimaries.green.Z = 0.119200f; displayPrimaries.blue = new CieXyz(); displayPrimaries.blue.X = 0.180500f; displayPrimaries.blue.Y = 0.072200f; displayPrimaries.blue.Z = 0.950633f; displayPrimaries.white = new CieXyz(); displayPrimaries.white.X = 0.950456f; displayPrimaries.white.Y = 1.000000f; displayPrimaries.white.Z = 1.089058f; doReturn(displayPrimaries) .when(() -> SurfaceControl.getDisplayNativePrimaries(mDisplayToken)); setUpTintController(); assertWithMessage("Setup with valid SurfaceControl failed") .that(mDisplayWhiteBalanceTintController.mSetUp) .isTrue(); final int cct = 6500; mDisplayWhiteBalanceTintController.setMatrix(cct); assertWithMessage("Failed to set temperature") .that(mDisplayWhiteBalanceTintController.mCurrentColorTemperature) .isEqualTo(cct); float[] matrixDwb = mDisplayWhiteBalanceTintController.getMatrix(); final float[] expectedMatrixDwb = { 0.962880f, -0.001780f, -0.000158f, 0.0f, 0.035765f, 0.929988f, 0.000858f, 0.0f, 0.001354f, -0.000470f, 0.948327f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }; assertArrayEquals("Unexpected DWB matrix", matrixDwb, expectedMatrixDwb, 1e-6f /* tolerance */); } private void setUpTintController() { mDisplayWhiteBalanceTintController = new DisplayWhiteBalanceTintController(); mDisplayWhiteBalanceTintController.setUp(mMockedContext, true); mDisplayWhiteBalanceTintController.setActivated(true); } }
services/tests/servicestests/src/com/android/server/display/whitebalance/AmbientLuxTest.java +22 −2 Original line number Diff line number Diff line Loading @@ -78,6 +78,8 @@ public final class AmbientLuxTest { @Mock private TypedArray mBiases; @Mock private TypedArray mHighLightBrightnesses; @Mock private TypedArray mHighLightBiases; @Mock private TypedArray mAmbientColorTemperatures; @Mock private TypedArray mDisplayColorTemperatures; @Before public void setUp() throws Exception { Loading Loading @@ -105,10 +107,10 @@ public final class AmbientLuxTest { HIGH_LIGHT_AMBIENT_COLOR_TEMPERATURE); when(mResourcesSpy.obtainTypedArray( R.array.config_displayWhiteBalanceAmbientColorTemperatures)) .thenReturn(createTypedArray()); .thenReturn(mAmbientColorTemperatures); when(mResourcesSpy.obtainTypedArray( R.array.config_displayWhiteBalanceDisplayColorTemperatures)) .thenReturn(createTypedArray()); .thenReturn(mDisplayColorTemperatures); when(mResourcesSpy.obtainTypedArray( R.array.config_displayWhiteBalanceLowLightAmbientBrightnesses)) Loading Loading @@ -388,6 +390,16 @@ public final class AmbientLuxTest { assertEquals(controller.mPendingAmbientColorTemperature, ambientColorTemperature, 0.001); } @Test public void testWhiteBalance_updateWithEmptyFilter() throws Exception { setAmbientColorTemperatures(5300.0f, 6000.0f, 7000.0f, 8000.0f); setDisplayColorTemperatures(6300.0f, 6400.0f, 6850.0f, 7450.0f); DisplayWhiteBalanceController controller = DisplayWhiteBalanceFactory.create(mHandler, mSensorManagerMock, mResourcesSpy); controller.updateAmbientColorTemperature(); assertEquals(-1.0f, controller.mPendingAmbientColorTemperature, 0); } void mockThrottler() { when(mResourcesSpy.getInteger( R.integer.config_displayWhiteBalanceDecreaseDebounce)).thenReturn(0); Loading Loading @@ -455,6 +467,14 @@ public final class AmbientLuxTest { setFloatArrayResource(mHighLightBiases, vals); } private void setAmbientColorTemperatures(float... vals) { setFloatArrayResource(mAmbientColorTemperatures, vals); } private void setDisplayColorTemperatures(float... vals) { setFloatArrayResource(mDisplayColorTemperatures, vals); } private void setFloatArrayResource(TypedArray array, float[] vals) { when(array.length()).thenReturn(vals.length); for (int i = 0; i < vals.length; i++) { Loading