Minor cleanups to GraphTester

Refactors SkyFunction map creation into the tester from tests.
Encapsulates modifiedValues better.

--
MOS_MIGRATED_REVID=105982046
diff --git a/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java b/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java
index be7391f..629c8f3 100644
--- a/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java
@@ -26,7 +26,6 @@
 import com.google.common.base.Preconditions;
 import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Sets;
 import com.google.common.testing.GcFinalization;
@@ -144,7 +143,7 @@
         new ParallelEvaluator(
             graph,
             graphVersion,
-            ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
+            tester.getSkyFunctionMap(),
             reporter,
             new MemoizingEvaluator.EmittedEventState(),
             InMemoryMemoizingEvaluator.DEFAULT_STORED_EVENT_FILTER,
diff --git a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
index f7c2da4..2d44e9d 100644
--- a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
+++ b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
@@ -16,13 +16,14 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import com.google.devtools.build.lib.events.Event;
 import com.google.devtools.build.lib.util.Pair;
 import com.google.devtools.build.skyframe.SkyFunction.Environment;
 import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
 
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
@@ -46,6 +47,8 @@
 public class GraphTester {
 
   public static final SkyFunctionName NODE_TYPE = SkyFunctionName.FOR_TESTING;
+  private final ImmutableMap<SkyFunctionName, ? extends SkyFunction> functionMap =
+      ImmutableMap.of(GraphTester.NODE_TYPE, new DelegatingFunction());
 
   private final Map<SkyKey, TestFunction> values = new HashMap<>();
   private final Set<SkyKey> modifiedValues = new LinkedHashSet<>();
@@ -77,8 +80,12 @@
     return getOrCreate(key, true).setConstantValue(value);
   }
 
-  public Collection<SkyKey> getModifiedValues() {
-    return modifiedValues;
+  public ImmutableSet<SkyKey> getModifiedValues() {
+    return ImmutableSet.copyOf(modifiedValues);
+  }
+
+  public void clearModifiedValues() {
+    modifiedValues.clear();
   }
 
   public SkyFunction getFunction() {
@@ -276,8 +283,8 @@
     }
   }
 
-  public DelegatingFunction createDelegatingFunction() {
-    return new DelegatingFunction();
+  public ImmutableMap<SkyFunctionName, ? extends SkyFunction> getSkyFunctionMap() {
+    return functionMap;
   }
 
   /**
diff --git a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
index 2187cb7..5ced1bd 100644
--- a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
@@ -3670,10 +3670,7 @@
     public void initialize() {
       this.differencer = new RecordingDifferencer();
       this.evaluator =
-          getMemoizingEvaluator(
-              ImmutableMap.of(NODE_TYPE, createDelegatingFunction()),
-              differencer,
-              invalidationReceiver);
+          getMemoizingEvaluator(getSkyFunctionMap(), differencer, invalidationReceiver);
       this.driver = getBuildDriver(evaluator);
     }
 
@@ -3684,7 +3681,7 @@
 
     public void invalidate() {
       differencer.invalidate(getModifiedValues());
-      getModifiedValues().clear();
+      clearModifiedValues();
       invalidationReceiver.clear();
     }
 
diff --git a/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java b/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
index ebe3419..bf306e4 100644
--- a/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
@@ -148,9 +148,7 @@
 
   protected <T extends SkyValue> EvaluationResult<T> eval(boolean keepGoing, Iterable<SkyKey> keys)
       throws InterruptedException {
-    ParallelEvaluator evaluator = makeEvaluator(graph,
-        ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
-        keepGoing);
+    ParallelEvaluator evaluator = makeEvaluator(graph, tester.getSkyFunctionMap(), keepGoing);
     return evaluator.eval(keys);
   }
 
@@ -519,7 +517,7 @@
     ParallelEvaluator evaluator =
         makeEvaluator(
             graph,
-            ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
+            tester.getSkyFunctionMap(),
             /*keepGoing=*/ false,
             new EventFilter() {
               @Override
@@ -538,9 +536,7 @@
     assertContainsEvent(eventCollector, "boop");
     assertContainsEvent(eventCollector, "beep");
     eventCollector.clear();
-    evaluator = makeEvaluator(graph,
-        ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
-        /*keepGoing=*/false);
+    evaluator = makeEvaluator(graph, tester.getSkyFunctionMap(), /*keepGoing=*/ false);
     evaluated.set(false);
     evaluator.eval(ImmutableList.of(a));
     assertFalse(evaluated.get());