Пример #1
0
		public void OurOriginalTimestampKeptIfAnotherChangedWasMadeAndTheyDeletedParent()
		{
			const string commonAncestor =
@"<ownseq class='PartOfSpeech' guid ='c1ed6db0-e382-11de-8a39-0800200c9a66'>
	<DateModified val='2000-1-1 23:59:59.000' />
	<Name>
			<AUni
				ws='en'>commonName</AUni>
	</Name>
</ownseq>";
			var ourContent = commonAncestor.Replace("2000-1-1 23:59:59.000", "2002-1-1 23:59:59.000").Replace("commonName", "ourModifiedName");

			var ancestorNode = XmlUtilities.GetDocumentNodeFromRawXml(commonAncestor, new XmlDocument());
			var ancestorModPropNode = ancestorNode.SelectSingleNode("DateModified");
			var ourNode = XmlUtilities.GetDocumentNodeFromRawXml(ourContent, new XmlDocument());
			var ourModPropNode = ourNode.SelectSingleNode("DateModified");
			var premerger = new PreferMostRecentTimePreMerger();
			premerger.Premerge(new ListenerForUnitTests(), ref ourModPropNode, null, ancestorModPropNode);

			Assert.AreEqual("2002-1-1 23:59:59.000", ourModPropNode.Attributes["val"].Value);
		}
Пример #2
0
		public void TheirOriginalTimestampRestoredToAncestorValueIfOnlyChangeWasTimestampAndWeDeletedParent()
		{
			const string commonAncestor =
@"<ownseq class='PartOfSpeech' guid ='c1ed6db0-e382-11de-8a39-0800200c9a66'>
	<DateModified val='2000-1-1 23:59:59.000' />
	<Name>
			<AUni
				ws='en'>commonName</AUni>
	</Name>
</ownseq>";
			var theirContent = commonAncestor.Replace("2000-1-1 23:59:59.000", "2002-1-1 23:59:59.000");

			var ancestorNode = XmlUtilities.GetDocumentNodeFromRawXml(commonAncestor, new XmlDocument());
			var ancestorModPropNode = ancestorNode.SelectSingleNode("DateModified");
			var theirNode = XmlUtilities.GetDocumentNodeFromRawXml(theirContent, new XmlDocument());
			var theirModPropNode = theirNode.SelectSingleNode("DateModified");
			var premerger = new PreferMostRecentTimePreMerger();
			XmlNode ourNode = null;
			premerger.Premerge(new ListenerForUnitTests(), ref ourNode, theirModPropNode, ancestorModPropNode);

			Assert.AreEqual("2000-1-1 23:59:59.000", theirModPropNode.Attributes["val"].Value);
		}