diff options
author | jaseg <git@jaseg.de> | 2021-06-06 13:28:42 +0200 |
---|---|---|
committer | jaseg <git@jaseg.de> | 2021-06-06 13:28:42 +0200 |
commit | 889ea37d9b66cbfb7a61795c7750b9f4311faa3f (patch) | |
tree | 34db36bcdf0501445aaec30c845ed644537e638a /tests/test_utility.py | |
parent | 5a5ba2b709f01b2100cd767a25a41737541ad53c (diff) | |
parent | 71c371ca680483aa9ef18d2998832460dd43abdf (diff) | |
download | gerbonara-889ea37d9b66cbfb7a61795c7750b9f4311faa3f.tar.gz gerbonara-889ea37d9b66cbfb7a61795c7750b9f4311faa3f.tar.bz2 gerbonara-889ea37d9b66cbfb7a61795c7750b9f4311faa3f.zip |
Graft pcb-tools-extension master onto gerbonara main
Diffstat (limited to 'tests/test_utility.py')
-rw-r--r-- | tests/test_utility.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/test_utility.py b/tests/test_utility.py new file mode 100644 index 0000000..4ede8d5 --- /dev/null +++ b/tests/test_utility.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright 2019 Hiroshi Murayama <opiopan@gmail.com> + +import unittest + +from gerberex.utility import * +from math import sqrt + +class TestUtility(unittest.TestCase): + def test_rotate(self): + x0, y0 = (10, 0) + + x1, y1 = rotate(x0, y0, 60, (0, 0)) + self.assertAlmostEqual(x1, 5) + self.assertAlmostEqual(y1, 10 * sqrt(3) / 2) + + x1, y1 = rotate(x0, y0, 180, (5, 0)) + self.assertAlmostEqual(x1, 0) + self.assertAlmostEqual(y1, 0) + + x1, y1 = rotate(x0, y0, -90, (10, 5)) + self.assertAlmostEqual(x1, 5) + self.assertAlmostEqual(y1, 5) + + def test_is_equal_value(self): + a = 10.0001 + b = 10.01 + + self.assertTrue(is_equal_value(a, b, 0.1)) + self.assertTrue(is_equal_value(a, b, 0.01)) + self.assertFalse(is_equal_value(a, b, 0.001)) + self.assertFalse(is_equal_value(a, b)) + + self.assertTrue(is_equal_value(b, a, 0.1)) + self.assertTrue(is_equal_value(b, a, 0.01)) + self.assertFalse(is_equal_value(b, a, 0.001)) + self.assertFalse(is_equal_value(b, a)) + + def test_is_equal_point(self): + p0 = (10.01, 5.001) + p1 = (10.0001, 5) + self.assertTrue(is_equal_point(p0, p1, 0.1)) + self.assertTrue(is_equal_point(p0, p1, 0.01)) + self.assertFalse(is_equal_point(p0, p1, 0.001)) + self.assertFalse(is_equal_point(p0, p1)) + self.assertTrue(is_equal_point(p1, p0, 0.1)) + self.assertTrue(is_equal_point(p1, p0, 0.01)) + self.assertFalse(is_equal_point(p1, p0, 0.001)) + self.assertFalse(is_equal_point(p1, p0)) + + p0 = (5.001, 10.01) + p1 = (5, 10.0001) + self.assertTrue(is_equal_point(p0, p1, 0.1)) + self.assertTrue(is_equal_point(p0, p1, 0.01)) + self.assertFalse(is_equal_point(p0, p1, 0.001)) + self.assertFalse(is_equal_point(p0, p1)) + self.assertTrue(is_equal_point(p1, p0, 0.1)) + self.assertTrue(is_equal_point(p1, p0, 0.01)) + self.assertFalse(is_equal_point(p1, p0, 0.001)) + self.assertFalse(is_equal_point(p1, p0)) + +if __name__ == '__main__': + unittest.main() |