public void WriterConstructedWithoutContentLengthAndSourceFile_AddsLinePragmas_OnDispose() { // Arrange var location = new SourceLocation(10, 1, 20); var expected = string.Join(Environment.NewLine, @"#line 2 ""myfile""", "Hello world", "", "#line default", "#line hidden", ""); var expectedMappings = new LineMapping( new MappingLocation(location, 30), new MappingLocation(new SourceLocation(18, 1, 0), 11)); var writer = new CSharpCodeWriter(); // Act using (var mappingWriter = new CSharpLineMappingWriter(writer, location, "myfile")) { writer.Write("Hello world"); } // Assert Assert.Equal(expected, writer.GenerateCode()); Assert.Empty(writer.LineMappingManager.Mappings); }
public void WriterConstructedWithoutContentLengthAndSourceFile_AddsLinePragmas_OnDispose() { // Arrange var location = new SourceLocation(10, 1, 20); var expected = string.Join(Environment.NewLine, @"#line 2 ""myfile""", "Hello world", "", "#line default", "#line hidden", ""); var expectedMappings = new LineMapping( new MappingLocation(location, 30), new MappingLocation(new SourceLocation(18, 1, 0), 11)); var writer = new CSharpCodeWriter(); // Act using (var mappingWriter = new CSharpLineMappingWriter(writer, location, "myfile")) { writer.Write("Hello world"); } // Assert Assert.Equal(expected, writer.GenerateCode()); Assert.Empty(writer.LineMappingManager.Mappings); }
public void GeneratedCodeMappingsAreNotEqualIfStartColumnIsNotEqual() { // Arrange var left = new LineMapping( new MappingLocation(new SourceLocation(1, 2, 3), 4), new MappingLocation(new SourceLocation(5, 6, 8), 8) ); var right = new LineMapping( new MappingLocation(new SourceLocation(1, 2, 3), 4), new MappingLocation(new SourceLocation(5, 6, 7), 8) ); // Assert AssertNotEqual(left, right); }
public void GeneratedCodeMappingsAreEqualIfDataIsEqual() { // Arrange var left = new LineMapping( new MappingLocation(new SourceLocation(1, 2, 3), 4), new MappingLocation(new SourceLocation(5, 6, 7), 8) ); var right = new LineMapping( new MappingLocation(new SourceLocation(1, 2, 3), 4), new MappingLocation(new SourceLocation(5, 6, 7), 8) ); // Assert Assert.True(left == right); Assert.True(left.Equals(right)); Assert.True(right.Equals(left)); Assert.True(Equals(left, right)); }
public void WriterConstructedWithContentLength_AddsLineMappings_OnDispose() { // Arrange var location = new SourceLocation(10, 15, 20); var expected = new LineMapping( new MappingLocation(location, 30), new MappingLocation(new SourceLocation(0, 0, 0), 11)); var writer = new CSharpCodeWriter(); // Act using (var mappingWriter = new CSharpLineMappingWriter(writer, location, 30)) { writer.Write("Hello world"); } // Assert Assert.Equal("Hello world", writer.GenerateCode()); var mapping = Assert.Single(writer.LineMappingManager.Mappings); Assert.Equal(expected, mapping); }
public void WriterConstructedWithContentLength_AddsLineMappings_OnDispose() { // Arrange var location = new SourceLocation(10, 15, 20); var expected = new LineMapping( new MappingLocation(location, 30), new MappingLocation(new SourceLocation(0, 0, 0), 11)); var writer = new CSharpCodeWriter(); // Act using (var mappingWriter = new CSharpLineMappingWriter(writer, location, 30)) { writer.Write("Hello world"); } // Assert Assert.Equal("Hello world", writer.GenerateCode()); var mapping = Assert.Single(writer.LineMappingManager.Mappings); Assert.Equal(expected, mapping); }
private void AssertNotEqual(LineMapping left, LineMapping right) { Assert.False(left == right); Assert.False(left.Equals(right)); Assert.False(right.Equals(left)); Assert.False(Equals(left, right)); }