Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 338019f5 authored by Fiona Campbell's avatar Fiona Campbell
Browse files

Add test for multiple brightness events

Ensure that brightness events are working for both increasing and
decreasing brightnesses.

Bug: 23215298
Test: atest BrightnessTrackerTest
Change-Id: I840852ec2652b1e6492ae9385b9c559655dd6e6d
parent cbcb5f8c
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
@@ -322,6 +322,61 @@ public class BrightnessTrackerTest {
        assertEquals(mDefaultNightModeColorTemperature, event.colorTemperature);
    }

    @Test
    public void testMultipleBrightnessEvents() {
        final float brightnessOne = 0.2f;
        final float brightnessTwo = 0.4f;
        final float brightnessThree = 0.6f;
        final float brightnessFour = 0.3f;
        final String displayId = "1234";
        final float[] luxValues = new float[]{1.0f};

        startTracker(mTracker);
        final long sensorTime = TimeUnit.NANOSECONDS.toMillis(mInjector.elapsedRealtimeNanos());
        final long sensorTime2 = sensorTime + TimeUnit.SECONDS.toMillis(20);
        final long sensorTime3 = sensorTime2 + TimeUnit.SECONDS.toMillis(30);
        final long sensorTime4 = sensorTime3 + TimeUnit.SECONDS.toMillis(40);
        final long originalTime = mInjector.currentTimeMillis();

        mInjector.incrementTime(TimeUnit.SECONDS.toMillis(2));
        notifyBrightnessChanged(mTracker, brightnessOne, displayId, luxValues,
                new long[] {sensorTime});

        mInjector.incrementTime(TimeUnit.SECONDS.toMillis(20));
        notifyBrightnessChanged(mTracker, brightnessTwo, displayId, luxValues,
                new long[] {sensorTime2});

        mInjector.incrementTime(TimeUnit.SECONDS.toMillis(30));
        notifyBrightnessChanged(mTracker, brightnessThree, displayId, luxValues,
                new long[] {sensorTime3});

        mInjector.incrementTime(TimeUnit.SECONDS.toMillis(40));
        notifyBrightnessChanged(mTracker, brightnessFour, displayId, luxValues,
                new long[] {sensorTime4});
        mTracker.stop();
        List<BrightnessChangeEvent> events = mTracker.getEvents(0, true).getList();
        assertEquals(4, events.size());
        BrightnessChangeEvent eventOne = events.get(0);
        assertEquals(brightnessOne, eventOne.brightness, FLOAT_DELTA);
        assertEquals(originalTime,
                eventOne.luxTimestamps[0]);

        BrightnessChangeEvent eventTwo = events.get(1);
        assertEquals(brightnessTwo, eventTwo.brightness, FLOAT_DELTA);
        assertEquals(originalTime + TimeUnit.SECONDS.toMillis(20),
                eventTwo.luxTimestamps[0]);

        BrightnessChangeEvent eventThree = events.get(2);
        assertEquals(brightnessThree, eventThree.brightness, FLOAT_DELTA);
        assertEquals(originalTime + TimeUnit.SECONDS.toMillis(50),
                eventThree.luxTimestamps[0]);

        BrightnessChangeEvent eventFour = events.get(3);
        assertEquals(brightnessFour, eventFour.brightness, FLOAT_DELTA);
        assertEquals(originalTime + TimeUnit.SECONDS.toMillis(90),
                eventFour.luxTimestamps[0]);
    }

    @Test
    public void testBrightnessFullPopulatedEvent() {
        final int initialBrightness = 230;