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);
     }
 }
예제 #2
0
		/// ------------------------------------------------------------------------------------
		/// <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]);
		}