public void TestSetDifference(Set<string> setFirst, Set<string> setSecond, Set<string> resultSet) { setFirst.Difference(setSecond); var iteratorFirst = setFirst.GetEnumerator(); var resultIterator = resultSet.GetEnumerator(); while (iteratorFirst.MoveNext() && resultIterator.MoveNext()) { Assert.AreEqual(iteratorFirst.Current, resultIterator.Current); } }
/// ------------------------------------------------------------------------------------ /// <summary> /// Gets the imported draft. /// </summary> /// <param name="cache">The cache.</param> /// <param name="origDrafts">The orig drafts.</param> /// <param name="cExpectedNewVersions">The number of expected new versions (must be 1 or /// 2: the imported version and possibly a backup saved version) /// </param> /// <returns></returns> /// ------------------------------------------------------------------------------------ private IScrDraft GetImportedVersion(FdoCache cache, Set<int> origDrafts, int cExpectedNewVersions) { Debug.Assert(cExpectedNewVersions >= 1 && cExpectedNewVersions <= 2); Set<int> curDrafts = new Set<int>(cache.LangProject.TranslatedScriptureOA.ArchivedDraftsOC.HvoArray); Set<int> newDrafts = curDrafts.Difference(origDrafts); Assert.AreEqual(cExpectedNewVersions, newDrafts.Count); IScrDraft result = ScrDraft.CreateFromDBObject(cache, new List<int>(newDrafts)[0]); if (result.Type == ScrDraftType.ImportedVersion) return result; return ScrDraft.CreateFromDBObject(cache, new List<int>(newDrafts)[1]); }