コード例 #1
0
 public IEnumerable<GitBranchView> GetCombinedBranchesView()
 {
     var fullList = new GitBranchViewList();
     foreach (var gitProject in Items)
     {
         fullList.AddRange(gitProject.GetBranchViews());
     }
     return fullList.Collapse();
 }
コード例 #2
0
        public void CollapseTest_Main()
        {
            var list = new GitBranchViewList
            {
                new GitBranchView
                {
                    Tag = "AA-001",
                    Branch = "AA-001-some-branch",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>
                    {
                        new GitBranchViewModuleInfo("PR1", "PR1", false, true, true),
                        new GitBranchViewModuleInfo("M1", "PR1", true, true, true),
                        new GitBranchViewModuleInfo("M2", "PR1", true, false, false),
                        new GitBranchViewModuleInfo("M3", "PR1", true, true, false)
                    }
                },
                new GitBranchView
                {
                    Tag = "AA-002",
                    Branch = "",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>()
                },
                new GitBranchView
                {
                    Tag = "AA-003",
                    Branch = "AA-003-some-branch",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>
                    {
                        new GitBranchViewModuleInfo("PR1", "PR1", true, true, false),
                        new GitBranchViewModuleInfo("M1", "PR1", true, true, true),
                        new GitBranchViewModuleInfo("M3", "PR1", true, true, false)
                    }
                },
                new GitBranchView
                {
                    Tag = "AA-004",
                    Branch = "",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>()
                },
                new GitBranchView
                {
                    Tag = "AA-001",
                    Branch = "AA-001-some-branch",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>
                    {
                        new GitBranchViewModuleInfo("PR2", "PR2", false, true, true),
                        new GitBranchViewModuleInfo("M1", "PR2", true, true, true),
                        new GitBranchViewModuleInfo("M4", "PR2", true, false, false),
                    }
                },
                new GitBranchView
                {
                    Tag = "AA-002",
                    Branch = "AA-002-some-branch",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>
                    {
                        new GitBranchViewModuleInfo("PR2", "PR2", true, false, true),
                        new GitBranchViewModuleInfo("M1", "PR2", true, true, true),
                        new GitBranchViewModuleInfo("M2", "PR2", true, true, false),
                    }
                },
                new GitBranchView
                {
                    Tag = "AA-002",
                    Branch = "AA-002-some-another-branch",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>
                    {
                        new GitBranchViewModuleInfo("PR2", "PR2", true, true, false),
                    }
                },
                new GitBranchView
                {
                    Tag = "AA-003",
                    Branch = "",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>()
                },
                new GitBranchView
                {
                    Tag = "AA-004",
                    Branch = "",
                    ViewModuleInfos = new List<GitBranchViewModuleInfo>()
                },
            };
            var result = list.Collapse().OrderBy(r => r.Tag).ThenBy(r => r.Branch).ToList();
            Assert.AreEqual(5, result.Count);

            Assert.AreEqual("AA-001", result[0].Tag);
            Assert.AreEqual("AA-001-some-branch", result[0].Branch);
            Assert.AreEqual("PR1; PR2; M1", result[0].ModulesMerged);
            Assert.AreEqual("M3", result[0].ModulesNotMerged);
            Assert.AreEqual(@"PR1\M2; PR2\M4", result[0].ModulesLocalOnly);

            Assert.AreEqual("AA-002", result[1].Tag);
            Assert.AreEqual("AA-002-some-another-branch", result[1].Branch);
            Assert.AreEqual("", result[1].ModulesMerged);
            Assert.AreEqual("PR2", result[1].ModulesNotMerged);
            Assert.AreEqual("", result[1].ModulesLocalOnly);

            Assert.AreEqual("AA-002", result[2].Tag);
            Assert.AreEqual("AA-002-some-branch", result[2].Branch);
            Assert.AreEqual("M1", result[2].ModulesMerged);
            Assert.AreEqual("M2", result[2].ModulesNotMerged);
            Assert.AreEqual("PR2", result[2].ModulesLocalOnly);

            Assert.AreEqual("AA-003", result[3].Tag);
            Assert.AreEqual("AA-003-some-branch", result[3].Branch);
            Assert.AreEqual("M1", result[3].ModulesMerged);
            Assert.AreEqual("PR1; M3", result[3].ModulesNotMerged);
            Assert.AreEqual("", result[3].ModulesLocalOnly);

            Assert.AreEqual("AA-004", result[4].Tag);
            Assert.AreEqual("", result[4].Branch);
            Assert.AreEqual("", result[4].ModulesMerged);
            Assert.AreEqual("", result[4].ModulesNotMerged);
            Assert.AreEqual("", result[4].ModulesLocalOnly);
        }
コード例 #3
0
 public void CollapseTest_Empty()
 {
     var list = new GitBranchViewList();
     var result = list.Collapse();
     Assert.IsEmpty(list);
 }