/// <summary> /// Creates a new <see cref="SourceCollection"/>. /// </summary> public SourceCollection(ComparisonSourceType sourceType, IReadOnlyList <ComparisonSource> sources) { SourceType = sourceType; _sources = sources; _status = new int[_sources.Count]; Count = _sources.Count; }
public void Test11(int otherIndex, string otherPath, ComparisonSourceType otherSourceType) { var node = ToNode("<br>"); var source = new ComparisonSource(node, 1, "path", ComparisonSourceType.Control); var otherSource = new ComparisonSource(node, otherIndex, otherPath, otherSourceType); source.Equals(otherSource).ShouldBeFalse(); (source == otherSource).ShouldBeFalse(); (source != otherSource).ShouldBeTrue(); }
/// <summary> /// Creates a <see cref="ComparisonSource"/>. /// </summary> /// <param name="node">The node of the source.</param> /// <param name="index">The node's absolute index/position in the DOM tree</param> /// <param name="parentsPath">The path to the parent node in the DOM tree.</param> /// <param name="sourceType">The source type.</param> public ComparisonSource(INode node, int index, string parentsPath, ComparisonSourceType sourceType) { if (node is null) { throw new ArgumentNullException(nameof(node)); } var pathSegment = GetNodePathSegment(node); Node = node; Index = index; Path = string.IsNullOrEmpty(parentsPath) ? pathSegment : CombinePath(parentsPath, pathSegment); SourceType = sourceType; _hashCode = (Node, Index, Path, SourceType).GetHashCode(); }
protected SourceMap ToSourceMap(string html, ComparisonSourceType sourceType = ComparisonSourceType.Control) { var source = ToComparisonSource(html, sourceType); return(new SourceMap(source)); }
protected SourceCollection ToSourceCollection(string html, ComparisonSourceType sourceType = ComparisonSourceType.Control) { var sources = ToComparisonSourceList(html); return(new SourceCollection(sourceType, sources)); }
protected AttributeComparisonSource ToAttributeComparisonSource(string html, string attrName, ComparisonSourceType sourceType = ComparisonSourceType.Control) { var elementSource = ToComparisonSource(html, sourceType); return(new AttributeComparisonSource(attrName, elementSource)); }
protected ComparisonSource ToComparisonSource(string html, ComparisonSourceType sourceType = ComparisonSourceType.Control) { return(ToNode(html).ToComparisonSource(0, sourceType)); }
/// <summary> /// Creates a <see cref="ComparisonSource"/>. /// </summary> /// <param name="node">The node of the source.</param> /// <param name="sourceType">The source type.</param> public ComparisonSource(INode node, ComparisonSourceType sourceType) : this(node, GetNodeIndex(node), CalculateParentPath(node), sourceType) { }
/// <summary> /// Creates a comparison source from a node. /// </summary> public static ComparisonSource ToComparisonSource(this INode node, int index, ComparisonSourceType sourceType, string path = "") => new ComparisonSource(node, index, path, sourceType);
/// <summary> /// Creates a comparison source list from a node list. /// </summary> public static IEnumerable <ComparisonSource> ToComparisonSourceList(this IEnumerable <INode> nodes, ComparisonSourceType sourceType, string path = "") { if (nodes is null) { throw new ArgumentNullException(nameof(nodes)); } var index = 0; foreach (var node in nodes) { yield return(node.ToComparisonSource(index, sourceType, path)); index += 1; } yield break; }
/// <summary> /// Creates a source collection from a node list. /// </summary> public static SourceCollection ToSourceCollection(this IEnumerable <INode> nodelist, ComparisonSourceType sourceType, string path = "") { return(new SourceCollection(sourceType, nodelist.ToComparisonSourceList(sourceType, path))); }
public void Test0(ComparisonSourceType sourceType) { var sut = new SourceCollection(sourceType, Array.Empty <ComparisonSource>()); sut.SourceType.ShouldBe(sourceType); }
/// <summary> /// Creates a new <see cref="SourceCollection"/>. /// </summary> public SourceCollection(ComparisonSourceType sourceType, IEnumerable <ComparisonSource> sources) : this(sourceType, sources.ToArray()) { }