public void TestFindMethodCalls_Nested() { File.Copy(@"..\..\TestInputs\nested_method_calls.cpp", Path.Combine(TestDir, "nested_method_calls.cpp")); using(var dataProj = new DataProject<CompleteWorkingSet>(DataDir, TestDir, SrcMLDir)) { dataProj.Update(); NamespaceDefinition globalScope; MethodCall[] expected; Assert.That(dataProj.WorkingSet.TryObtainReadLock(Timeout.Infinite, out globalScope)); try { expected = new[] { globalScope.FindExpressions<MethodCall>(true).First(mc => mc.Name == "ToString"), globalScope.FindExpressions<MethodCall>(true).First(mc => mc.Name == "SomeMethodCall"), globalScope.FindExpressions<MethodCall>(true).First(mc => mc.Name == "printf") }; } finally { dataProj.WorkingSet.ReleaseReadLock(); } var query = new FindMethodCallsAtLocationQuery(dataProj.WorkingSet, Timeout.Infinite); var testFile = Path.GetFullPath(Path.Combine(TestDir, "nested_method_calls.cpp")); var actual = query.Execute(new SourceLocation(testFile, 4, 41)); Assert.IsNotNull(actual); Assert.AreEqual(expected.Length, actual.Count); for(int i = 0; i < expected.Length; i++) { Assert.AreSame(expected[i], actual[i]); } } }
public void TestFindMethodCalls_Nested() { File.Copy(@"..\..\TestInputs\nested_method_calls.cpp", Path.Combine(TestDir, "nested_method_calls.cpp")); using (var dataProj = new DataProject <CompleteWorkingSet>(DataDir, TestDir, SrcMLDir)) { dataProj.Update(); NamespaceDefinition globalScope; MethodCall[] expected; Assert.That(dataProj.WorkingSet.TryObtainReadLock(Timeout.Infinite, out globalScope)); try { expected = new[] { globalScope.FindExpressions <MethodCall>(true).First(mc => mc.Name == "ToString"), globalScope.FindExpressions <MethodCall>(true).First(mc => mc.Name == "SomeMethodCall"), globalScope.FindExpressions <MethodCall>(true).First(mc => mc.Name == "printf") }; } finally { dataProj.WorkingSet.ReleaseReadLock(); } var query = new FindMethodCallsAtLocationQuery(dataProj.WorkingSet, Timeout.Infinite); var testFile = Path.GetFullPath(Path.Combine(TestDir, "nested_method_calls.cpp")); var actual = query.Execute(new SourceLocation(testFile, 4, 41)); Assert.IsNotNull(actual); Assert.AreEqual(expected.Length, actual.Count); for (int i = 0; i < expected.Length; i++) { Assert.AreSame(expected[i], actual[i]); } } }
public void TestFindMethodCalls_Simple() { File.Copy(@"..\..\TestInputs\function_def.cpp", Path.Combine(TestDir, "function_def.cpp")); using(var dataProj = new DataProject<CompleteWorkingSet>(DataDir, TestDir, SrcMLDir)) { dataProj.Update(); NamespaceDefinition globalScope; MethodCall expected; Assert.That(dataProj.WorkingSet.TryObtainReadLock(Timeout.Infinite, out globalScope)); try { expected = globalScope.FindExpressions<MethodCall>(true).First(mc => mc.Name == "MyFunction"); } finally { dataProj.WorkingSet.ReleaseReadLock(); } var query = new FindMethodCallsAtLocationQuery(dataProj.WorkingSet, Timeout.Infinite); var testFile = Path.GetFullPath(Path.Combine(TestDir, "function_def.cpp")); var actual = query.Execute(new SourceLocation(testFile, 12, 20)); Assert.IsNotNull(actual); Assert.AreEqual(1, actual.Count); Assert.AreSame(expected, actual[0]); } }
public void TestFindMethodCalls_Simple() { File.Copy(@"..\..\TestInputs\function_def.cpp", Path.Combine(TestDir, "function_def.cpp")); using (var dataProj = new DataProject <CompleteWorkingSet>(DataDir, TestDir, SrcMLDir)) { dataProj.Update(); NamespaceDefinition globalScope; MethodCall expected; Assert.That(dataProj.WorkingSet.TryObtainReadLock(Timeout.Infinite, out globalScope)); try { expected = globalScope.FindExpressions <MethodCall>(true).First(mc => mc.Name == "MyFunction"); } finally { dataProj.WorkingSet.ReleaseReadLock(); } var query = new FindMethodCallsAtLocationQuery(dataProj.WorkingSet, Timeout.Infinite); var testFile = Path.GetFullPath(Path.Combine(TestDir, "function_def.cpp")); var actual = query.Execute(new SourceLocation(testFile, 12, 20)); Assert.IsNotNull(actual); Assert.AreEqual(1, actual.Count); Assert.AreSame(expected, actual[0]); } }