package hudson.plugins.git; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import junit.framework.Assert; import junit.framework.TestCase; public class SubmoduleCombinatorTest extends TestCase { public void testCombination() { SubmoduleCombinator sc = new SubmoduleCombinator(null, null, null, null, null); Map<IndexEntry, Collection<Revision>> moduleBranches = new HashMap<IndexEntry, Collection<Revision>>(); Collection<Revision> revisions; Revision revision; revisions = new ArrayList<Revision>(); revision = new Revision("1"); revision.getBranches().add(new Branch("bt1", "1")); revision.getBranches().add(new Branch("bt1", "2")); revision.getBranches().add(new Branch("bt1", "3")); revisions.add(revision); revisions.add(new Revision("2")); revisions.add(new Revision("3")); moduleBranches.put(new IndexEntry("", "", "", "moduleA"), revisions); revisions = new ArrayList<Revision>(); revisions.add(new Revision("4")); revisions.add(new Revision("5")); revisions.add(new Revision("6")); moduleBranches.put(new IndexEntry("", "", "", "moduleB"), revisions); revisions = new ArrayList<Revision>(); revisions.add(new Revision("7")); revisions.add(new Revision("8")); revisions.add(new Revision("9")); moduleBranches.put(new IndexEntry("", "", "", "moduleC"), revisions); List<Map<IndexEntry, Revision>> combinations = sc.createCombinations(moduleBranches); Assert.assertEquals(27, combinations.size()); Map<IndexEntry, Revision> choice = combinations.get(0); List<IndexEntry> match = new ArrayList<IndexEntry>(); match.add(new IndexEntry("", "", "1", "moduleA")); match.add(new IndexEntry("", "", "7", "moduleC")); match.add(new IndexEntry("", "", "4", "moduleB")); Assert.assertEquals(0, sc.difference(choice, match)); } }