FakeFeatureFlagsImpl optionally takes defaults via a FeatureFlags.
Bug: 337449122 Flag: test_only Test: presubmit Change-Id: I45e2a523b36a6b14627c89ee7deffda711a32f5e
This commit is contained in:
parent
836b9e1ba9
commit
23fbd1e2f6
2 changed files with 26 additions and 8 deletions
|
@ -428,10 +428,16 @@ mod tests {
|
|||
|
||||
/** @hide */
|
||||
public class FakeFeatureFlagsImpl extends CustomFeatureFlags {
|
||||
private Map<String, Boolean> mFlagMap = new HashMap<>();
|
||||
private final Map<String, Boolean> mFlagMap = new HashMap<>();
|
||||
private final FeatureFlags mDefaults;
|
||||
|
||||
public FakeFeatureFlagsImpl() {
|
||||
this(null);
|
||||
}
|
||||
|
||||
public FakeFeatureFlagsImpl(FeatureFlags defaults) {
|
||||
super(null);
|
||||
mDefaults = defaults;
|
||||
// Initialize the map with null values
|
||||
for (String flagName : getFlagNames()) {
|
||||
mFlagMap.put(flagName, null);
|
||||
|
@ -441,10 +447,13 @@ mod tests {
|
|||
@Override
|
||||
protected boolean getValue(String flagName, Predicate<FeatureFlags> getter) {
|
||||
Boolean value = this.mFlagMap.get(flagName);
|
||||
if (value == null) {
|
||||
throw new IllegalArgumentException(flagName + " is not set");
|
||||
if (value != null) {
|
||||
return value;
|
||||
}
|
||||
return value;
|
||||
if (mDefaults != null) {
|
||||
return getter.test(mDefaults);
|
||||
}
|
||||
throw new IllegalArgumentException(flagName + " is not set");
|
||||
}
|
||||
|
||||
public void setFlag(String flagName, boolean value) {
|
||||
|
|
|
@ -6,10 +6,16 @@ import java.util.function.Predicate;
|
|||
|
||||
/** @hide */
|
||||
public class FakeFeatureFlagsImpl extends CustomFeatureFlags \{
|
||||
private Map<String, Boolean> mFlagMap = new HashMap<>();
|
||||
private final Map<String, Boolean> mFlagMap = new HashMap<>();
|
||||
private final FeatureFlags mDefaults;
|
||||
|
||||
public FakeFeatureFlagsImpl() \{
|
||||
this(null);
|
||||
}
|
||||
|
||||
public FakeFeatureFlagsImpl(FeatureFlags defaults) \{
|
||||
super(null);
|
||||
mDefaults = defaults;
|
||||
// Initialize the map with null values
|
||||
for (String flagName : getFlagNames()) \{
|
||||
mFlagMap.put(flagName, null);
|
||||
|
@ -19,10 +25,13 @@ public class FakeFeatureFlagsImpl extends CustomFeatureFlags \{
|
|||
@Override
|
||||
protected boolean getValue(String flagName, Predicate<FeatureFlags> getter) \{
|
||||
Boolean value = this.mFlagMap.get(flagName);
|
||||
if (value == null) \{
|
||||
throw new IllegalArgumentException(flagName + " is not set");
|
||||
if (value != null) \{
|
||||
return value;
|
||||
}
|
||||
return value;
|
||||
if (mDefaults != null) \{
|
||||
return getter.test(mDefaults);
|
||||
}
|
||||
throw new IllegalArgumentException(flagName + " is not set");
|
||||
}
|
||||
|
||||
public void setFlag(String flagName, boolean value) \{
|
||||
|
|
Loading…
Reference in a new issue