DownstreamCreatorTest: Don't depend on HashMap ordering

The underlying code populates the result list based on iteration order
of a HashMap, which is not guaranteed and can vary from run to run.
Deflake the tests by using a Truth assertion that doesn't require the
expected values to be found in order.

Change-Id: I5c98d96a8c5739925abf6c9468579649a5a7961b
diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorTest.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorTest.java
index c8fad3f..9242082 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorTest.java
@@ -14,8 +14,12 @@
 
 package com.googlesource.gerrit.plugins.automerger;
 
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.common.base.Function;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
 import com.google.gerrit.extensions.api.GerritApi;
-import com.google.gerrit.extensions.api.changes.AbandonInput;
 import com.google.gerrit.extensions.api.changes.ChangeApi;
 import com.google.gerrit.extensions.api.changes.RevisionApi;
 import com.google.gerrit.extensions.client.ListChangesOption;
@@ -24,19 +28,14 @@
 import com.google.gerrit.extensions.common.CommitInfo;
 import com.google.gerrit.extensions.common.MergePatchSetInput;
 import com.google.gerrit.extensions.common.RevisionInfo;
-import com.google.common.collect.ImmutableList;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mockito;
-
-import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
-import static com.google.common.truth.Truth.assertThat;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
 
 public class DownstreamCreatorTest {
   private final String changeId = "testid";
@@ -158,8 +157,7 @@
     assertThat(changeInput.merge.source).isEqualTo(currentRevision);
 
     // Check that it was actually skipped
-    String expectedSubject =
-        changeSubject + " skipped: " + currentRevision.substring(0, 10);
+    String expectedSubject = changeSubject + " skipped: " + currentRevision.substring(0, 10);
     assertThat(changeInput.merge.strategy).isEqualTo("ours");
     assertThat(expectedSubject).isEqualTo(changeInput.subject);
   }
@@ -183,9 +181,16 @@
 
     ArgumentCaptor<ChangeInput> changeInputCaptor = ArgumentCaptor.forClass(ChangeInput.class);
     Mockito.verify(gApiMock.changes(), Mockito.times(2)).create(changeInputCaptor.capture());
-    List<ChangeInput> capturedChangeInputs = changeInputCaptor.getAllValues();
-    assertThat(capturedChangeInputs.get(0).branch).isEqualTo("testone");
-    assertThat(capturedChangeInputs.get(1).branch).isEqualTo("testtwo");
+    List<String> capturedBranches =
+        Lists.transform(
+            changeInputCaptor.getAllValues(),
+            new Function<ChangeInput, String>() {
+              @Override
+              public String apply(ChangeInput c) {
+                return c.branch;
+              }
+            });
+    assertThat(capturedBranches).containsExactly("testone", "testtwo");
   }
 
   @Test