示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }