public void HandlesNullGracefully() { // Arrange var factory = new SearchResultFactory(); // Act var results = factory.Parse(null); // Assert Assert.That(results, Is.Not.Null.And.Empty); }
public void ParsesXPathWhichEvaluatesToElements() { // Arrange var factory = new SearchResultFactory(); var evaluationResult = XElement.Parse(Xml).XPathEvaluate("/child"); // Act var results = factory.Parse(evaluationResult); // Assert Assert.That(results, Is.Not.Null.And.Not.Empty); }
public void ParsesXPathWhichEvaluatesToBoolean() { // Arrange var factory = new SearchResultFactory(); var evaluationResult = XElement.Parse(Xml).XPathEvaluate("count(/child/@name) > 0"); // Act var result = factory.Parse(evaluationResult).Single(); // Assert Assert.That(result.Value, Is.EqualTo(bool.TrueString)); }
public void ParsesXPathWhichEvaluatesToAttribute() { // Arrange var factory = new SearchResultFactory(); var evaluationResult = XElement.Parse(Xml).XPathEvaluate("/child/@name"); var expectedAttributeValues = new[] { "name=\"first\"", "name=\"second\"" }; // Act var results = factory.Parse(evaluationResult).Select(s => s.Value).ToArray(); // Assert Assert.That(results, Is.EquivalentTo(expectedAttributeValues)); }
public void ParsesXPathWhichEvaluatesToString() { // Arrange var factory = new SearchResultFactory(); var evaluationResult = XElement.Parse(Xml).XPathEvaluate("/child/text()"); var expectedTextValues = new[] { "Hello World!", "Guten Morgen Welt!" }; // Act var results = factory.Parse(evaluationResult).Select(s => s.Value).ToArray(); // Assert Assert.That(results, Is.EqualTo(expectedTextValues)); }
public void SetsSelectionLength(string xpath, int expectedLength) { // Arrange var factory = new SearchResultFactory(); var evaluationResult = XElement.Parse(Xml, LoadOptions.SetLineInfo).XPathEvaluate(xpath); // Act var result = factory.Parse(evaluationResult).Single(); // Assert Assert.That(result.SelectionLength, Is.EqualTo(expectedLength)); }
public void SetsLinePosition(string xpath, int linePosition) { // Arrange var factory = new SearchResultFactory(); var evaluationResult = XElement.Parse(Xml, LoadOptions.SetLineInfo).XPathEvaluate(xpath); // Act var result = factory.Parse(evaluationResult).Single(); // Assert Assert.That(result.LinePosition, Is.EqualTo(linePosition)); }