1 // © 2019 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 package org.unicode.icu.tool.cldrtoicu.testing; 4 5 import java.util.HashMap; 6 import java.util.Map; 7 8 import org.unicode.cldr.api.CldrValue; 9 import org.unicode.icu.tool.cldrtoicu.PathValueTransformer; 10 import org.unicode.icu.tool.cldrtoicu.RbPath; 11 12 import com.google.common.collect.ImmutableList; 13 14 public final class FakeTransformer extends PathValueTransformer { 15 private final Map<CldrValue, ImmutableList<Result>> resultMap = new HashMap<>(); 16 private final Map<RbPath, ImmutableList<Result>> fallbackMap = new HashMap<>(); 17 addResults(CldrValue value, Result... results)18 public void addResults(CldrValue value, Result... results) { 19 resultMap.put(value, ImmutableList.copyOf(results)); 20 } 21 addFallbacks(String path, Result... results)22 public void addFallbacks(String path, Result... results) { 23 fallbackMap.put(RbPath.parse(path), ImmutableList.copyOf(results)); 24 } 25 transform(CldrValue value)26 @Override public ImmutableList<Result> transform(CldrValue value) { 27 return resultMap.getOrDefault(value, ImmutableList.of()); 28 } 29 transform(CldrValue value, DynamicVars ignored)30 @Override public ImmutableList<Result> transform(CldrValue value, DynamicVars ignored) { 31 return resultMap.getOrDefault(value, ImmutableList.of()); 32 } 33 getFallbackResultsFor(RbPath key, DynamicVars ignored)34 @Override public ImmutableList<Result> getFallbackResultsFor(RbPath key, DynamicVars ignored) { 35 return fallbackMap.getOrDefault(key, ImmutableList.of()); 36 } 37 } 38