### Question:
TrieRoutingData implements MetadataStoreRoutingData { public boolean containsKeyRealmPair(String shardingKey, String realmAddress) { if (!ZkValidationUtil.isPathValid(shardingKey)) { throw new IllegalArgumentException( "Provided shardingKey is not a valid Zookeeper path: " + shardingKey); } TrieNode node = getLongestPrefixNodeAlongPath(shardingKey); return node.getPath().equals(shardingKey) && node.getRealmAddress().equals(realmAddress); } TrieRoutingData(Map<String, List<String>> routingData); Map<String, String> getAllMappingUnderPath(String path); String getMetadataStoreRealm(String path); String getShardingKeyInPath(String path); boolean isShardingKeyInsertionValid(String shardingKey); boolean containsKeyRealmPair(String shardingKey, String realmAddress);  }### Answer:
@Test(dependsOnMethods = "testConstructionNormal") public void testContainsKeyRealmPair() { Assert.assertTrue(_trie.containsKeyRealmPair("/h/i", "realmAddress1")); }
@Test(dependsOnMethods = "testConstructionNormal") public void testContainsKeyRealmPairNoKey() { Assert.assertFalse(_trie.containsKeyRealmPair("/h/i/k", "realmAddress1")); }
@Test(dependsOnMethods = "testConstructionNormal") public void testContainsKeyRealmPairNoRealm() { Assert.assertFalse(_trie.containsKeyRealmPair("/h/i", "realmAddress0")); }