Add test cases for overlay

Signed-off-by: Andrew Butt <butta@seas.upenn.edu>
This commit is contained in:
Andrew Butt 2020-07-15 15:26:47 -04:00
parent 9456bcded1
commit 67b2749b0a
1 changed files with 15 additions and 2 deletions

View File

@ -21,8 +21,10 @@ from unittest import TestCase, main
environ['XRAY_DATABASE_ROOT'] = '.'
environ['XRAY_PART'] = './'
from prjxray.util import get_roi
from prjxray.util import get_roi, get_db_root
from prjxray.db import Database
from prjxray.overlay import Overlay
from prjxray.grid_types import GridLoc
@contextmanager
def setup_database(contents):
@ -69,6 +71,17 @@ class TestUtil(TestCase):
self.assertListEqual(
list(get_roi().gen_sites()), [('ATILE', 'FOO', 'BAR')])
def test_in_roi_overlay(self):
db = Database(get_db_root(), './database/artix7/xc7a50tfgg484-1')
region_dict = {}
region_dict['pr1'] = (10, 58, 0, 51)
region_dict['pr2'] = (10, 58, 52, 103)
overlay = Overlay(db.grid(), region_dict)
self.assertFalse(overlay.tile_in_roi(GridLoc(18, 50)))
self.assertFalse(overlay.tile_in_roi(GridLoc(18, 84)))
self.assertTrue(overlay.tile_in_roi(GridLoc(8, 50)))
self.assertTrue(overlay.tile_in_roi(GridLoc(18, 112)))
self.assertTrue(overlay.tile_in_roi(GridLoc(80, 40)))
if __name__ == '__main__':
main()