### Question:
SimpleKeyFile implements SecureKeyStore, Configurable, LogSource { public void setProperty (String alias, String subName, String value) { String key = alias + "." + subName; props.setProperty(key, value); } SimpleKeyFile();  SimpleKeyFile(String keyFileName); void init(String keyFileName); @Override void setLogger(Logger logger, String realm); @Override Logger getLogger(); @Override String getRealm(); @Override void setConfiguration(Configuration cfg); @Override synchronized SecureKey getKey(String alias); @Override synchronized void setKey(String alias, SecureKey secureKey); String getProperty(String alias, String subName); void setProperty(String alias, String subName, String value); @Override Map<String, SecureKey> getKeys();  }### Answer:
@Test public void testSetProperty() throws Throwable { SimpleKeyFile simpleKeyFile = new SimpleKeyFile(); simpleKeyFile.setProperty("testSimpleKeyFileAlias", "testSimpleKeyFileSubName", "testSimpleKeyFileValue"); assertEquals(1, simpleKeyFile.props.size(), "simpleKeyFile.props.size()"); assertEquals("testSimpleKeyFileValue", simpleKeyFile.props.get("testSimpleKeyFileAlias.testSimpleKeyFileSubName"), "simpleKeyFile.props.get(\"testSimpleKeyFileAlias.testSimpleKeyFileSubName\")"); }
@Test public void testSetPropertyThrowsNullPointerException() throws Throwable { SimpleKeyFile simpleKeyFile = new SimpleKeyFile(); try { simpleKeyFile.setProperty("testSimpleKeyFileAlias", "testSimpleKeyFileSubName", null); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull(ex.getMessage(), "ex.getMessage()"); assertEquals(0, simpleKeyFile.props.size(), "simpleKeyFile.props.size()"); } }