예제 #1
0
        public void ChangesModel_MultipleSourceControlEntries_SomeConflicted()
        {
            const string conflictedPrefix = "conflicted-path";

            var model   = new TestableChangesModel();
            var changes = new List <IChangeEntry>();

            AddEntry(changes, "path1", ChangeEntryStatus.Modified, false);
            AddEntry(changes, "path2", ChangeEntryStatus.Modified, false);
            AddEntry(changes, "path3", ChangeEntryStatus.Modified, false);
            AddEntry(changes, $"{conflictedPrefix}4", ChangeEntryStatus.Modified, false, true);
            AddEntry(changes, $"{conflictedPrefix}5", ChangeEntryStatus.Modified, false, true);
            model.UpdateChangeList(changes);

            var conflictedList = model.GetConflictedEntries();

            model.Provider.ConflictedState = true;
            Assert.IsTrue(model.Conflicted);
            Assert.AreEqual(2, model.ConflictedCount);
            Assert.AreEqual(2, conflictedList.Count);
            Assert.IsFalse(conflictedList[0].All);
            Assert.IsFalse(conflictedList[1].All);
            Assert.IsTrue(conflictedList[0].Conflicted);
            Assert.IsTrue(conflictedList[1].Conflicted);

            Assert.IsTrue(conflictedList[0].Entry.Path.StartsWith(conflictedPrefix));
            Assert.IsTrue(conflictedList[1].Entry.Path.StartsWith(conflictedPrefix));
        }