def test_option_values(self): """test for ancestor, associated and module options""" handler = DiadefsHandler(Config()) df_h = DiaDefGenerator(Linker(PROJECT), handler) cl_config = Config() cl_config.classes = ['Specialization'] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config) ) self.assertEqual( (0, 0), df_h._get_levels()) self.assertEqual( False, df_h.module_names) self.assertEqual( (-1, -1), cl_h._get_levels()) self.assertEqual( True, cl_h.module_names) for hndl in [df_h, cl_h]: hndl.config.all_ancestors = True hndl.config.all_associated = True hndl.config.module_names = True hndl._set_default_options() self.assertEqual( (-1, -1), hndl._get_levels()) self.assertEqual( True, hndl.module_names) handler = DiadefsHandler( Config()) df_h = DiaDefGenerator(Linker(PROJECT), handler) cl_config = Config() cl_config.classes = ['Specialization'] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config) ) for hndl in [df_h, cl_h]: hndl.config.show_ancestors = 2 hndl.config.show_associated = 1 hndl.config.module_names = False hndl._set_default_options() self.assertEqual( (2, 1), hndl._get_levels()) self.assertEqual( False, hndl.module_names) #def test_default_values(self): """test efault values for package or class diagrams"""
def test_option_values(self): """test for ancestor, associated and module options""" handler = DiadefsHandler(Config()) df_h = DiaDefGenerator(Linker(PROJECT), handler) cl_config = Config() cl_config.classes = ['Specialization'] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config)) self.assertEqual((0, 0), df_h._get_levels()) self.assertEqual(False, df_h.module_names) self.assertEqual((-1, -1), cl_h._get_levels()) self.assertEqual(True, cl_h.module_names) for hndl in [df_h, cl_h]: hndl.config.all_ancestors = True hndl.config.all_associated = True hndl.config.module_names = True hndl._set_default_options() self.assertEqual((-1, -1), hndl._get_levels()) self.assertEqual(True, hndl.module_names) handler = DiadefsHandler(Config()) df_h = DiaDefGenerator(Linker(PROJECT), handler) cl_config = Config() cl_config.classes = ['Specialization'] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config)) for hndl in [df_h, cl_h]: hndl.config.show_ancestors = 2 hndl.config.show_associated = 1 hndl.config.module_names = False hndl._set_default_options() self.assertEqual((2, 1), hndl._get_levels()) self.assertEqual(False, hndl.module_names) #def test_default_values(self): """test efault values for package or class diagrams"""
def test_option_values(HANDLER, PROJECT): """test for ancestor, associated and module options""" df_h = DiaDefGenerator(Linker(PROJECT), HANDLER) cl_config = Config() cl_config.classes = ["Specialization"] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config)) assert df_h._get_levels() == (0, 0) assert not df_h.module_names assert cl_h._get_levels() == (-1, -1) assert cl_h.module_names for hndl in [df_h, cl_h]: hndl.config.all_ancestors = True hndl.config.all_associated = True hndl.config.module_names = True hndl._set_default_options() assert hndl._get_levels() == (-1, -1) assert hndl.module_names handler = DiadefsHandler(Config()) df_h = DiaDefGenerator(Linker(PROJECT), handler) cl_config = Config() cl_config.classes = ["Specialization"] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config)) for hndl in [df_h, cl_h]: hndl.config.show_ancestors = 2 hndl.config.show_associated = 1 hndl.config.module_names = False hndl._set_default_options() assert hndl._get_levels() == (2, 1) assert not hndl.module_names
def test_option_values(HANDLER, PROJECT): """test for ancestor, associated and module options""" df_h = DiaDefGenerator(Linker(PROJECT), HANDLER) cl_config = Config() cl_config.classes = ['Specialization'] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config) ) assert (0, 0) == df_h._get_levels() assert False == df_h.module_names assert (-1, -1) == cl_h._get_levels() assert True == cl_h.module_names for hndl in [df_h, cl_h]: hndl.config.all_ancestors = True hndl.config.all_associated = True hndl.config.module_names = True hndl._set_default_options() assert (-1, -1) == hndl._get_levels() assert True == hndl.module_names handler = DiadefsHandler( Config()) df_h = DiaDefGenerator(Linker(PROJECT), handler) cl_config = Config() cl_config.classes = ['Specialization'] cl_h = DiaDefGenerator(Linker(PROJECT), DiadefsHandler(cl_config) ) for hndl in [df_h, cl_h]: hndl.config.show_ancestors = 2 hndl.config.show_associated = 1 hndl.config.module_names = False hndl._set_default_options() assert (2, 1) == hndl._get_levels() assert False == hndl.module_names #def test_default_values(): """test efault values for package or class diagrams"""
def test_functional_relation_extraction(self): """functional test of relations extraction; different classes possibly in different modules""" # XXX should be catching pyreverse environnement problem but doesn't # pyreverse doesn't extracts the relations but this test ok project = get_project('data') handler = DiadefsHandler(Config()) diadefs = handler.get_diadefs(project, Linker(project, tag=True)) cd = diadefs[1] relations = _process_relations(cd.relationships) self.assertEqual(relations, self._should_rels)
unittest for the extensions.diadefslib modules """ import unittest import sys import astroid from astroid import MANAGER from astroid.inspector import Linker from pylint.pyreverse.diadefslib import * from unittest_pyreverse_writer import Config, get_project PROJECT = get_project('data') HANDLER = DiadefsHandler(Config()) def _process_classes(classes): """extract class names of a list""" return sorted([(isinstance(c.node, astroid.Class), c.title) for c in classes]) def _process_relations(relations): """extract relation indices from a relation list""" result = [] for rel_type, rels in relations.iteritems(): for rel in rels: result.append( (rel_type, rel.from_object.title, rel.to_object.title))
def HANDLER(): return DiadefsHandler(Config())