### Question:
LookupShardManager extends ShardManager { @Override public int storeData(Data data) { var shardId = allocateShard(data); lookupMap.put(data.getKey(), shardId); var shard = shardMap.get(shardId); shard.storeData(data); LOGGER.info(data.toString() + " is stored in Shard " + shardId); return shardId; }  @Override int storeData(Data data);  }### Answer:
@Test public void testStoreData() { try { var data = new Data(1, "test", Data.DataType.TYPE_1); lookupShardManager.storeData(data); var field = LookupShardManager.class.getDeclaredField("lookupMap"); field.setAccessible(true); var lookupMap = (Map<Integer, Integer>) field.get(lookupShardManager); var shardId = lookupMap.get(1); var shard = lookupShardManager.getShardById(shardId); Assert.assertEquals(data, shard.getDataById(1)); } catch (NoSuchFieldException | IllegalAccessException e) { Assert.fail("Fail to modify field access."); } }