### Question:
Environment { public Long getLong(String name) { return getLong(name, null); } Environment();  Environment(EnvironmentVariablesAccessor environmentVariablesAccessor); Map<String, String> getAllVariables(); Long getLong(String name); String getString(String name); Integer getInteger(String name); Boolean getBoolean(String name); Long getLong(String name, Long defaultValue); String getString(String name, String defaultValue); Integer getInteger(String name, Integer defaultValue); Boolean getBoolean(String name, Boolean defaultValue); Integer getPositiveInteger(String name, Integer defaultValue); Integer getNegativeInteger(String name, Integer defaultValue); T getVariable(String name, Function<String, T> mappingFunction); T getVariable(String name, Function<String, T> mappingFunction, T defaultValue); boolean hasVariable(String name);  }### Answer:
@Test void testGetLong() { Mockito.when(environmentVariablesAccessor.getVariable("ab")) .thenReturn("12"); assertEquals(12, (long) environment.getLong("ab")); }
@Test void testGetLongWhenVariableIsMissing() { assertNull(environment.getLong("ab")); }
@Test void testGetLongWithDefault() { assertEquals(12, (long) environment.getLong("ab", 12L)); }