Skip to content

Commit

Permalink
Merge branch '__rultor'
Browse files Browse the repository at this point in the history
  • Loading branch information
rultor committed Jul 15, 2020
2 parents 860ac0f + 674ebc4 commit a6659fb
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 7 deletions.
4 changes: 4 additions & 0 deletions aibolit/ast_framework/ast_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ def children(self) -> Iterator['ASTNode']:
for child_index in self._graph.succ[self._node_index]:
yield ASTNode(self._graph, child_index)

@property
def node_index(self) -> int:
return self._node_index

def __getattr__(self, attribute_name: str):
if attribute_name not in common_attributes:
node_type = self._graph.nodes[self._node_index]['node_type']
Expand Down
9 changes: 6 additions & 3 deletions test/utils/test_ast.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

from unittest import TestCase
from unittest import TestCase, skip
from pathlib import Path
from itertools import zip_longest

Expand All @@ -32,7 +32,7 @@
class ASTTestSuite(TestCase):
def test_parsing(self):
ast = self._build_ast("SimpleClass.java")
actual_node_types = [ast.get_type(node) for node in ast.get_nodes()]
actual_node_types = [node.node_type for node in ast]
self.assertEqual(actual_node_types,
ASTTestSuite._java_simple_class_preordered)

Expand All @@ -42,14 +42,17 @@ def test_subtrees_selection(self):
for actual_subtree, expected_subtree in \
zip_longest(subtrees, ASTTestSuite._java_simple_class_basic_type_subtrees):
with self.subTest():
self.assertEqual(list(actual_subtree.get_nodes()), expected_subtree)
self.assertEqual([node.node_index for node in actual_subtree],
expected_subtree)

@skip('Method "get_member_reference_params" is deprecated')
def test_member_reference_params(self):
ast = self._build_ast("MemberReferencesExample.java")
for node, expected_params in zip_longest(ast.get_nodes(ASTNodeType.MEMBER_REFERENCE),
ASTTestSuite._expected_member_reference_params):
self.assertEqual(ast.get_member_reference_params(node), expected_params)

@skip('Method "get_method_invocation_params" is deprecated')
def test_method_invocation_params(self):
ast = self._build_ast("MethodInvokeExample.java")
for node, expected_params in zip_longest(ast.get_nodes(ASTNodeType.METHOD_INVOCATION),
Expand Down
3 changes: 2 additions & 1 deletion test/utils/test_java_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,14 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

from unittest import TestCase
from unittest import TestCase, skip
from pathlib import Path

from aibolit.ast_framework.java_package import JavaPackage
from aibolit.ast_framework import ASTNodeType


@skip('JavaClass is deprecated')
class JavaClassTestCase(TestCase):
def test_class_name(self):
for filename, class_names in JavaClassTestCase._java_packages_with_class_names:
Expand Down
3 changes: 2 additions & 1 deletion test/utils/test_java_class_field.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

from unittest import TestCase
from unittest import TestCase, skip
from pathlib import Path

from aibolit.ast_framework.java_package import JavaPackage


@skip('JavaClassField is deprecated')
class JavaClassFieldTestCase(TestCase):
def test_field_name(self):
java_package = JavaPackage(Path(__file__).parent.absolute() / 'TwoClasses.java')
Expand Down
3 changes: 2 additions & 1 deletion test/utils/test_java_class_method.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

from unittest import TestCase
from unittest import TestCase, skip
from pathlib import Path

from aibolit.ast_framework.java_package import JavaPackage


@skip('JavaClassMethod is deprecated')
class JavaClassMethodTestCase(TestCase):
def test_method_name(self):
java_package = JavaPackage(Path(__file__).parent.absolute() / 'TwoClasses.java')
Expand Down
3 changes: 2 additions & 1 deletion test/utils/test_java_package.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

from unittest import TestCase
from unittest import TestCase, skip
from pathlib import Path

from typing import Set
Expand All @@ -29,6 +29,7 @@
from aibolit.ast_framework.java_package import JavaPackage


@skip('JavaPackage class is deprecated')
class JavaPackageTestCase(TestCase):

def test_java_package_name(self):
Expand Down

0 comments on commit a6659fb

Please sign in to comment.