def test_get_definition_from_wire(self):
     definition_query = list(
         sdn.get_definitions(
             self.netlist.top_instance.reference.cables[0].wires[0]))
     self.assertTrue(
         len(definition_query) == 1
         and definition_query[0] == self.netlist.top_instance.reference)
 def test_get_definition_of_library_outside(self):
     definition_query = list(
         sdn.get_definitions(self.netlist.libraries[0],
                             selection="OUTSIDE"))
     self.assertTrue(
         len(definition_query) == 1
         and self.leaf_inst.reference not in definition_query)
 def test_unique_query_return(self):
     definition_query = list(
         sdn.get_definitions([self.netlist.libraries[0], self.leaf_inst],
                             "leaf"))
     self.assertTrue(
         len(definition_query) == 1
         and definition_query[0] == self.leaf_inst.reference)
 def test_get_definition_of_definition_outside(self):
     definition_query = list(
         sdn.get_definitions(self.netlist.libraries[0].definitions[0],
                             selection="OUTSIDE"))
     self.assertTrue(
         len(definition_query) == 1 and definition_query[0]
         == self.netlist.libraries[1].definitions[0])
Exemplo n.º 5
0
 def compare_libraries(self, library_orig, library_composer):
     # try:
     assert self.get_identifier(library_orig) == self.get_identifier(library_composer), \
         "Libraries do not have the same identifier"
     assert self.get_original_identifier(library_orig) == self.get_original_identifier(library_composer), \
         "Libraries do not have the same original identifier"
     assert len(library_orig.definitions) == len(library_composer.definitions), \
         "Libraries do not have the same amount of definitions " \
         + str(library_orig) + " " + str(len(library_orig.definitions)) + " " +\
         str(library_composer) + " " + \
         str(len(library_composer.definitions))
     # except Exception:
     #     import pdb; pdb.set_trace()
     for orig_definition in library_orig.definitions:
         if orig_definition.name == None:
             # ports with no name are not compared
             print(
                 "WARNING: definitions with name == None exist but are not compared"
             )
             continue
         else:
             patterns = orig_definition.name
         composer_definition = next(
             sdn.get_definitions(library_composer, patterns))
         self.compare_definition(orig_definition, composer_definition)
 def test_get_definition_of_library_recursive_absolute_pattern(self):
     definition_query = list(
         sdn.get_definitions(self.netlist.libraries[1],
                             "leaf",
                             recursive=True))
     self.assertTrue(
         len(definition_query) == 1
         and self.leaf_inst.reference is definition_query[0])
 def test_get_definition_of_instances_recursive_up(self):
     definition_query = list(
         sdn.get_definitions(self.leaf_inst,
                             selection="OUTSIDE",
                             recursive=True))
     self.assertTrue(
         len(definition_query) == 3
         and self.leaf_inst.reference not in definition_query)
 def test_get_definition_of_definition_inside_recursive(self):
     definition_query = list(
         sdn.get_definitions(self.netlist.top_instance.reference,
                             selection="INSIDE",
                             recursive=True))
     self.assertTrue(
         len(definition_query) == 3
         and self.netlist.top_instance.reference not in definition_query)
 def test_get_definition_of_instances_inside(self):
     definition_query = list(
         sdn.get_definitions(
             self.netlist.libraries[0].definitions[0].references,
             selection="INSIDE"))
     self.assertTrue(
         len(definition_query) == 1
         and definition_query[0] == self.leaf_inst.reference)
 def test_lookup_definition(self):
     library = self.netlist.libraries[0]
     definition = library.definitions[0]
     definition_name = definition.name
     def1 = next(self.netlist.get_definitions(definition_name))
     self.assertEqual(definition, def1)
     def2 = next(self.netlist.get_definitions(definition_name, key='EDIF.identifier'))
     self.assertEqual(definition, def2)
     def3 = next(sdn.get_definitions(self.netlist, definition_name))
     self.assertEqual(definition, def3)
     def4 = next(sdn.get_definitions(self.netlist, definition_name, key='EDIF.identifier'))
     self.assertEqual(definition, def4)
     def5 = next(library.get_definitions(definition_name))
     self.assertEqual(definition, def5)
     def6 = next(library.get_definitions(definition_name, key='EDIF.identifier'))
     self.assertEqual(definition, def6)
     def7 = next(sdn.get_definitions(library, definition_name))
     self.assertEqual(definition, def7)
     def8 = next(sdn.get_definitions(library, definition_name, key='EDIF.identifier'))
     self.assertEqual(definition, def8)
 def test_absolute_pattern_from_relative_query(self):
     definition_query = list(sdn.get_definitions(self.leaf_inst, "leaf"))
     self.assertTrue(
         len(definition_query) == 1
         and definition_query[0] == self.leaf_inst.reference)
 def test_collection(self):
     library = sdn.Library()
     definition = library.create_definition()
     definition.name = "MY_DEF"
     ports = list(sdn.get_definitions([library, library]))
     self.assertEqual(len(ports), 1)
 def test_get_definition_of_library(self):
     definition_query = list(sdn.get_definitions(self.netlist.libraries[1]))
     self.assertTrue(
         len(definition_query) == 3
         and self.leaf_inst.reference not in definition_query)
 def test_get_definition_from_href(self):
     href = next(sdn.get_hinstances(self.netlist.top_instance))
     definition_query = list(sdn.get_definitions(href))
     self.assertTrue(
         len(definition_query) == 1
         and definition_query[0] == self.netlist.top_instance.reference)
 def test_get_definition_of_library_recursive(self):
     definition_query = list(
         sdn.get_definitions(self.netlist.libraries[1], recursive=True))
     self.assertTrue(
         len(definition_query) == 4
         and self.leaf_inst.reference in definition_query)
 def test_get_definition_from_inner_pins(self):
     definition_query = list(
         sdn.get_definitions(self.leaf_inst.reference.ports[0].pins[0]))
     self.assertTrue(
         len(definition_query) == 1
         and definition_query[0] == self.leaf_inst.reference)
 def test_get_definition_of_instances_recursive_down(self):
     definition_query = set(
         sdn.get_definitions(self.netlist.top_instance, recursive=True))
     self.assertTrue(len(definition_query) == 4)