public void GetWrappingFunctionForSourceLocation_SingleRelevantFunctionMapEntry_ReturnWrappingFunction() { // Arrange SourcePosition sourcePosition = new SourcePosition { ZeroBasedLineNumber = 41, ZeroBasedColumnNumber = 2 }; FunctionMapEntry functionMapEntry = new FunctionMapEntry { StartSourcePosition = new SourcePosition { ZeroBasedLineNumber = 40, ZeroBasedColumnNumber = 10 }, EndSourcePosition = new SourcePosition { ZeroBasedLineNumber = 50, ZeroBasedColumnNumber = 10 } }; List <FunctionMapEntry> functionMap = new List <FunctionMapEntry> { functionMapEntry }; IFunctionMapConsumer functionMapConsumer = new FunctionMapConsumer(); // Act FunctionMapEntry wrappingFunction = functionMapConsumer.GetWrappingFunctionForSourceLocation(sourcePosition, functionMap); // Assert Assert.AreEqual(functionMapEntry, wrappingFunction); }
public void GetWrappingFunctionForSourceLocation_SingleIrrelevantFunctionMapEntry_ReturnNull() { // Arrange SourcePosition sourcePosition = new SourcePosition { ZeroBasedLineNumber = 2, ZeroBasedColumnNumber = 3 }; List <FunctionMapEntry> functionMap = new List <FunctionMapEntry> { new FunctionMapEntry { StartSourcePosition = new SourcePosition { ZeroBasedLineNumber = 40, ZeroBasedColumnNumber = 10 }, EndSourcePosition = new SourcePosition { ZeroBasedLineNumber = 50, ZeroBasedColumnNumber = 10 } } }; IFunctionMapConsumer functionMapConsumer = new FunctionMapConsumer(); // Act FunctionMapEntry wrappingFunction = functionMapConsumer.GetWrappingFunctionForSourceLocation(sourcePosition, functionMap); // Assert Assert.IsNull(wrappingFunction); }
public void GetWrappingFunctionForSourceLocation_EmptyFunctionMap_ReturnNull() { // Arrange SourcePosition sourcePosition = new SourcePosition( zeroBasedLineNumber: 2, zeroBasedColumnNumber: 3); List <FunctionMapEntry> functionMap = new List <FunctionMapEntry>(); IFunctionMapConsumer functionMapConsumer = new FunctionMapConsumer(); // Act FunctionMapEntry wrappingFunction = functionMapConsumer.GetWrappingFunctionForSourceLocation(sourcePosition, functionMap); // Assert Assert.Null(wrappingFunction); }
public void GetWrappingFunctionForSourceLocation_MultipleFunctionMapEntriesMultipleRelevantFunctionMapEntry_ReturnClosestWrappingFunction() { // Arrange SourcePosition sourcePosition = new SourcePosition { ZeroBasedLineNumber = 10, ZeroBasedColumnNumber = 25 }; FunctionMapEntry functionMapEntry = new FunctionMapEntry { StartSourcePosition = new SourcePosition { ZeroBasedLineNumber = 5, ZeroBasedColumnNumber = 10 }, EndSourcePosition = new SourcePosition { ZeroBasedLineNumber = 20, ZeroBasedColumnNumber = 30 } }; FunctionMapEntry functionMapEntry2 = new FunctionMapEntry { StartSourcePosition = new SourcePosition { ZeroBasedLineNumber = 9, ZeroBasedColumnNumber = 0 }, EndSourcePosition = new SourcePosition { ZeroBasedLineNumber = 15, ZeroBasedColumnNumber = 2 } }; List <FunctionMapEntry> functionMap = new List <FunctionMapEntry> { functionMapEntry2, functionMapEntry }; IFunctionMapConsumer functionMapConsumer = new FunctionMapConsumer(); // Act FunctionMapEntry wrappingFunction = functionMapConsumer.GetWrappingFunctionForSourceLocation(sourcePosition, functionMap); // Assert Assert.AreEqual(functionMapEntry2, wrappingFunction); }