Maps { public static <K, V> MapBuilder<K, V> builder() { return new MapBuilder<>(); } private  Maps(); static MapBuilder<K, V> builder(); static V computeIfAbsent(
      Map<K, V> map, K key, ThrowingFunction<? super K, ? extends V, ? extends X> function); static T get(Map<? super K, ?> map, K key); static T getOrDefault(Map<? super K, V> map, K key, T defaultValue);  }
@Test public void builderEmptyTest() { Map<Object, Object> map = Maps.builder().build(); assertTrue(map.isEmpty()); }
@Test public void builderTest() { Map<String, String> map = Maps.<String, String>builder().put("A Key", "A Value").build(); assertEquals("A Value", map.get("A Key")); }
@Test public void builderCompleteTest() { Maps.MapBuilder<String, String> mapBuilder = Maps.builder(); mapBuilder.build(); assertThrows(IllegalStateException.class, () -> mapBuilder.put("", "")); }