@Test public void drawRect_shouldRecordRectHistoryEvents() throws Exception { Canvas canvas = new Canvas(); Paint paint0 = new Paint(); paint0.setColor(Color.WHITE); Paint paint1 = new Paint(); paint1.setColor(Color.BLACK); RectF rect0 = new RectF(0f, 2f, 3f, 4f); RectF rect1 = new RectF(5f, 6f, 7f, 8f); canvas.drawRect(0f, 2f, 3f, 4f, paint0); canvas.drawRect(5f, 6f, 7f, 8f, paint1); ShadowCanvas shadowCanvas = shadowOf(canvas); assertThat(shadowCanvas.getDrawnRect(0).left).isEqualTo(0f); assertThat(shadowCanvas.getDrawnRect(0).top).isEqualTo(2f); assertThat(shadowCanvas.getDrawnRect(0).right).isEqualTo(3f); assertThat(shadowCanvas.getDrawnRect(0).bottom).isEqualTo(4f); assertThat(shadowCanvas.getDrawnRect(0).rect).isEqualTo(rect0); assertThat(shadowCanvas.getDrawnRect(0).paint.getColor()).isEqualTo(Color.WHITE); assertThat(shadowCanvas.getDrawnRect(1).left).isEqualTo(5f); assertThat(shadowCanvas.getDrawnRect(1).top).isEqualTo(6f); assertThat(shadowCanvas.getDrawnRect(1).right).isEqualTo(7f); assertThat(shadowCanvas.getDrawnRect(1).bottom).isEqualTo(8f); assertThat(shadowCanvas.getDrawnRect(1).rect).isEqualTo(rect1); assertThat(shadowCanvas.getDrawnRect(1).paint.getColor()).isEqualTo(Color.BLACK); } }