### Question:
DefaultProvider implements CameraProvider { @Override public CameraDevice get(Logger logger) { return sdkInfo.isBellowLollipop() ? v1Provider.get(logger) : v2Provider.get(logger); } DefaultProvider(CameraProvider v1Provider,
						   CameraProvider v2Provider);   DefaultProvider(CameraProvider v1Provider,
					CameraProvider v2Provider,
					SDKInfo sdkInfo); @Override CameraDevice get(Logger logger);  }### Answer:
@Test public void bellowLollipop_V1CameraProvider() throws Exception { givenBelowLollipop(); CameraDevice device = testee.get(logger); assertSame(camera1, device); }
@Test public void lollipopOrHigher_V2CameraProvider() throws Exception { givenLollipopOrHigher(); CameraDevice device = testee.get(logger); assertSame(camera2, device); }