From: <bo...@us...> - 2014-11-28 19:20:50
|
Revision: 549 http://sourceforge.net/p/xmlunit/code/549 Author: bodewig Date: 2014-11-28 19:20:42 +0000 (Fri, 28 Nov 2014) Log Message: ----------- Require .NET 3.5, use LINQ to Object Modified Paths: -------------- trunk/xmlunit/src/main/net-constraints/ValidationConstraints.cs trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.cs trunk/xmlunit/src/main/net-core/util/Linqy.cs Modified: trunk/xmlunit/src/main/net-constraints/ValidationConstraints.cs =================================================================== --- trunk/xmlunit/src/main/net-constraints/ValidationConstraints.cs 2014-11-24 13:36:39 UTC (rev 548) +++ trunk/xmlunit/src/main/net-constraints/ValidationConstraints.cs 2014-11-28 19:20:42 UTC (rev 549) @@ -12,8 +12,9 @@ limitations under the License. */ +using System.Linq; +using System.Text; using NUnit.Framework.Constraints; -using net.sf.xmlunit.util; using net.sf.xmlunit.validation; namespace net.sf.xmlunit.constraints { @@ -57,10 +58,10 @@ } private string GrabSystemIds() { - return string.Join("\n", Linqy.ToArray(Linqy.Map<ISource, - string>(validator - .SchemaSources, - GrabSystemId))); + return validator.SchemaSources.Select(GrabSystemId) + .Aggregate(new StringBuilder(), + (sb, systemId) => sb.AppendLine(systemId), + sb => sb.Remove(sb.Length - 1, 1).ToString()); } private string GrabActual() { @@ -74,9 +75,10 @@ } private string GrabProblems() { - return string.Join(", ", Linqy.ToArray(Linqy.Map<ValidationProblem, - string>(result.Problems, - ProblemToString))); + return result.Problems + .Aggregate(new StringBuilder(), + (sb, p) => sb.AppendFormat("{0}, ", p), + sb => sb.Remove(sb.Length - 2, 2).ToString()); } private string ProblemToString(ValidationProblem problem) { Modified: trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.cs =================================================================== --- trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.cs 2014-11-24 13:36:39 UTC (rev 548) +++ trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.cs 2014-11-28 19:20:42 UTC (rev 549) @@ -14,6 +14,7 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Xml; using System.Xml.Schema; using net.sf.xmlunit.exceptions; @@ -91,19 +92,17 @@ } IEnumerable<XmlNode> controlChildren = - Linqy.Filter(Linqy.Cast<XmlNode>(control.ChildNodes), - INTERESTING_NODES); + control.ChildNodes.Cast<XmlNode>().Where(INTERESTING_NODES); IEnumerable<XmlNode> testChildren = - Linqy.Filter(Linqy.Cast<XmlNode>(test.ChildNodes), - INTERESTING_NODES); + test.ChildNodes.Cast<XmlNode>().Where(INTERESTING_NODES); if (control.NodeType != XmlNodeType.Attribute) { lastResult = Compare(new Comparison(ComparisonType.CHILD_NODELIST_LENGTH, control, GetXPath(controlContext), - Linqy.Count(controlChildren), + controlChildren.Count(), test, GetXPath(testContext), - Linqy.Count(testChildren))); + testChildren.Count())); if (lastResult == ComparisonResult.CRITICAL) { return lastResult; } @@ -117,13 +116,9 @@ if (control.NodeType != XmlNodeType.Attribute) { controlContext - .SetChildren(Linqy.Map<XmlNode, - XPathContext.INodeInfo>(controlChildren, - TO_NODE_INFO)); + .SetChildren(controlChildren.Select(TO_NODE_INFO)); testContext - .SetChildren(Linqy.Map<XmlNode, - XPathContext.INodeInfo>(testChildren, - TO_NODE_INFO)); + .SetChildren(testChildren.Select(TO_NODE_INFO)); lastResult = CompareNodeLists(controlChildren, controlContext, testChildren, testContext); @@ -346,16 +341,12 @@ Attributes controlAttributes = SplitAttributes(control.Attributes); controlContext - .AddAttributes(Linqy.Map<XmlAttribute, - XmlQualifiedName>(controlAttributes - .RemainingAttributes, - Nodes.GetQName)); + .AddAttributes(controlAttributes.RemainingAttributes + .Select(Nodes.GetQName)); Attributes testAttributes = SplitAttributes(test.Attributes); testContext - .AddAttributes(Linqy.Map<XmlAttribute, - XmlQualifiedName>(testAttributes - .RemainingAttributes, - Nodes.GetQName)); + .AddAttributes(testAttributes.RemainingAttributes + .Select(Nodes.GetQName)); IDictionary<XmlAttribute, object> foundTestAttributes = new Dictionary<XmlAttribute, object>(); Modified: trunk/xmlunit/src/main/net-core/util/Linqy.cs =================================================================== --- trunk/xmlunit/src/main/net-core/util/Linqy.cs 2014-11-24 13:36:39 UTC (rev 548) +++ trunk/xmlunit/src/main/net-core/util/Linqy.cs 2014-11-28 19:20:42 UTC (rev 549) @@ -12,76 +12,20 @@ limitations under the License. */ -using System.Collections; using System.Collections.Generic; namespace net.sf.xmlunit.util { /// <summary> - /// A couple of (functional) sequence processing constructs. + /// Sequence processing constructs not present in System.Linq. /// </summary> public sealed class Linqy { /// <summary> - /// Turns an enumerable into its type-safe cousin. - /// </summary> - public static IEnumerable<T> Cast<T>(IEnumerable i) { - foreach (T t in i) { - yield return t; - } - } - - /// <summary> /// An enumerable containing a single element. /// </summary> public static IEnumerable<T> Singleton<T>(T t) { yield return t; } - /// <summary> - /// Create a new enumerable by applying a mapper function to - /// each element of a given sequence. - /// </summary> - public static IEnumerable<T> Map<F, T>(IEnumerable<F> from, - Mapper<F, T> mapper) { - foreach (F f in from) { - yield return mapper(f); - } - } - - /// <summary> - /// A function mapping from one type to another. - /// </summary> - public delegate T Mapper<F, T>(F from); - - /// <summary> - /// Exclude all elements from an enumerable that don't match a - /// given predicate. - /// </summary> - public static IEnumerable<T> Filter<T>(IEnumerable<T> sequence, - Predicate<T> filter) { - foreach (T t in sequence) { - if (filter(t)) { - yield return t; - } - } - } - - /// <summary> - /// Count the number of elements in a sequence. - /// </summary> - public static int Count(IEnumerable e) { - int c = 0; - foreach (object o in e) { - c++; - } - return c; - } - - /// <summary> - /// Collects the elements of a sequence into an array. - /// </summary> - public static T[] ToArray<T>(IEnumerable<T> e) { - return new List<T>(e).ToArray(); - } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |