### Question:
ProductFlavorCombo { @NonNull public String getName() { if (name == null) { boolean first = true; StringBuilder sb = new StringBuilder(); for (T flavor : flavorList) { if (first) { sb.append(flavor.getName()); first = false; } else { StringHelper.appendCapitalized(sb, flavor.getName()); } } name = sb.toString(); } return name; } ProductFlavorCombo(@NonNull T... flavors);  ProductFlavorCombo(@NonNull Iterable<T> flavors); @NonNull String getName(); @NonNull List<T> getFlavorList(); @NonNull static List<ProductFlavorCombo<S>> createCombinations(
            @Nullable List<String> flavorDimensions,
            @NonNull Iterable<S> productFlavors);  }### Answer:
@Test public void getNameEmpty() { assertEquals("", new ProductFlavorCombo<CoreProductFlavor>().getName()); }
@Test public void getNameSingleFlavor() { assertEquals("flavor1", new ProductFlavorCombo<>(f1).getName()); }
@Test public void getNameMultiFlavor() { assertEquals("flavor1Flavor2", new ProductFlavorCombo<>(f1, f2).getName()); }