Example #1
0
    def test_element(self):
        tests = [
            ("self.testbrd5.get_element('U1_8_DISPLAY_2').get_geometry(layer_query='Top')",
             6132383853822173047, "#ff0000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd1).get_elements().get_geometry())",
             3019186457803611298, "#000000"),
            ("self.testbrd1.get_element('U$1').get_geometry()",
             -3905289220812110970, "#000000"),
            ("self.testbrd1.get_element('U$2').get_geometry()",
             7149781817599939921, "#000000"),
            ("self.testbrd1.get_element('U$2').get_geometry(layer_query='Top')",
             -592898454734508401, "#ff0000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd1).get_elements().get_geometry(layer_query='Top'))",
             8175878824730081580, "#ff0000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_elements().get_geometry())",
             8284983521792206760, "#000000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_elements().get_geometry(layer_query='tPlace'))",
             1859631802219965328, "#000000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_elements().get_geometry(layer_query='bPlace'))",
             2736247162424655875, "#000000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_element('U$1').get_geometry(layer_query='Top'))",
             3934072499983631454, "#ff0000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_element('U$1').get_geometry(layer_query='Bottom'))",
             -2769906635547204865, "#0000ff"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_elements().get_geometry(layer_query='tTest2'))",
             -7429633510224712854, "#ff00ff"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_elements().get_geometry(layer_query='bTest2'))",
             -4332886659677625739, "#ff00ff"),
            #("shapely.ops.cascaded_union(self.boardtest.get_geometry())", 3638586739369071119, "#000000"),
            ("shapely.ops.cascaded_union(self.curvetest.get_geometry())",
             -1509359968350351720, "#000000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_elements().get_geometry(layer_query='Holes'))",
             7495755189664780231, "#000000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.testbrd2).get_elements().get_geometry(layer_query='tKeepout', polygonize_wires=SEFP.POLYGONIZE_BEST_EFFORT))",
             8476310128833764099, "#000000"),
            ("shapely.ops.cascaded_union(Swoop.From(self.textTest).get_geometry(layer_query='tPlace', polygonize_wires=SEFP.POLYGONIZE_BEST_EFFORT))",
             1368976510290104576, "#000000")
        ]

        c = 0
        # We compare the geometry the commands produced with a hash of the
        # correct geometry.  If you need to update the correct answers,
        # uncomment the "dump" below, and comment out the assert.  Run
        # "frameworkpython -m unittest test_Shapely.TestShapely.test_element"
        # and then look at all ???.pdf files.  Check that they correct.  When
        # they are replace the array above with the output of the command.
        # It's the commands with the updated hashes.  Questions? ask Steve.
        for i in tests:
            geo = eval(i[0])
            #dump(i, geo, i[0], c, i[2])
            #print(geo)
            self.assertEqual(hash_geo(geo), i[1],
                             "Geometry failure on test {}".format(c))
            c = c + 1
Example #2
0
def dump(test, geo, title, c, color):
    hash = hash_geo(geo)
    print("""("{}", {}, "{}"),""".format(test[0], hash, test[2]))