### Question:
Environment { public String getString(String name) { return getString(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 testGetString() { Mockito.when(environmentVariablesAccessor.getVariable("ab")) .thenReturn("cd"); assertEquals("cd", environment.getString("ab")); }
@Test void testGetStringWhenVariableIsMissing() { assertNull(environment.getString("ab")); }
@Test void testGetStringWithDefault() { assertEquals("cd", environment.getString("ab", "cd")); }