public void TryMergeWithReturnsFalseWhenMergingRightIntoLeftIfSpansNotAdjacent() { // Arrange Span left = new CodeSpan(new SourceLocation(100, 0, 0), "Foo"); Span right = new CodeSpan(SourceLocation.Zero, "Bar"); // Act/Assert Assert.IsFalse(left.TryMergeWith(right)); }
public void TryMergeWithReturnsTrueAndCorrectlyMergesWhenMergingRightIntoLeftIfSpansAreAdjacent() { // Arrange Span left = new CodeSpan(new SourceLocation(3, 0, 0), "Foo"); Span right = new CodeSpan(SourceLocation.Zero, "Bar"); // Act bool success = left.TryMergeWith(right); // Assert Assert.IsTrue(success); Assert.AreEqual("BarFoo", left.Content); Assert.AreEqual(SourceLocation.Zero, left.Start); }
public void TryMergeWithLeavesTypeVisibilityAndTrackingModeUnchanged() { // Arrange Span left = new CodeSpan(SourceLocation.Zero, "Foo", hidden: true, acceptedCharacters: AcceptedCharacters.None); Span right = new MetaCodeSpan(new SourceLocation(3, 0, 0), "Bar"); // Act bool success = left.TryMergeWith(right); // Assert Assert.IsTrue(success); Assert.AreEqual(SpanKind.Code, left.Kind); Assert.IsTrue(left.Hidden); }