# KLayout Layout Viewer # Copyright (C) 2006-2018 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import pya import unittest import sys class DBRegionTest(unittest.TestCase): def test_1_Region(self): r = pya.Region() self.assertEqual(str(r), "") r.insert(pya.Box(0, 100, 200, 300)) self.assertEqual(str(r), "(0,100;0,300;200,300;200,100)") r2 = pya.Region(pya.Box(50, 150, 250, 350)) self.assertEqual(str(r2), "(50,150;50,350;250,350;250,150)") r += r2 self.assertEqual(str(r), "(0,100;0,300;200,300;200,100);(50,150;50,350;250,350;250,150)") r.merge() self.assertEqual(str(r), "(0,100;0,300;50,300;50,350;250,350;250,150;200,150;200,100)") # run unit tests if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromTestCase(DBRegionTest) if not unittest.TextTestRunner(verbosity = 1).run(suite).wasSuccessful(): sys.exit(1)