diff options
author | Paulo Henrique Silva <ph.silva@gmail.com> | 2019-11-26 00:37:41 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-26 00:37:41 -0300 |
commit | ef589a064015de3a1ce6487dbb56b99332673e9d (patch) | |
tree | 5dd7ec0c1a86cff0f9459b90f0d2aeca768182c0 /gerber/tests/test_utils.py | |
parent | 404384cf912fa082c120ba5be81973ea097958fc (diff) | |
download | gerbonara-ef589a064015de3a1ce6487dbb56b99332673e9d.tar.gz gerbonara-ef589a064015de3a1ce6487dbb56b99332673e9d.tar.bz2 gerbonara-ef589a064015de3a1ce6487dbb56b99332673e9d.zip |
Migrate to pytest (#111)
* Migrate to pytest
All tests were update to use pytest.
Tests were alse black formatted. Eventually all code
will be black formatted but need to merge some PRs first.
Diffstat (limited to 'gerber/tests/test_utils.py')
-rw-r--r-- | gerber/tests/test_utils.py | 168 |
1 files changed, 103 insertions, 65 deletions
diff --git a/gerber/tests/test_utils.py b/gerber/tests/test_utils.py index 35f6f47..68484d1 100644 --- a/gerber/tests/test_utils.py +++ b/gerber/tests/test_utils.py @@ -3,7 +3,7 @@ # Author: Hamilton Kibbe <ham@hamiltonkib.be> -from .tests import assert_equal, assert_raises +import pytest from ..utils import * @@ -14,60 +14,99 @@ def test_zero_suppression(): fmt = (2, 5) # Test leading zero suppression - zero_suppression = 'leading' - test_cases = [('1', 0.00001), ('10', 0.0001), ('100', 0.001), - ('1000', 0.01), ('10000', 0.1), ('100000', 1.0), - ('1000000', 10.0), ('-1', -0.00001), ('-10', -0.0001), - ('-100', -0.001), ('-1000', -0.01), ('-10000', -0.1), - ('-100000', -1.0), ('-1000000', -10.0), - ('0', 0.0)] + zero_suppression = "leading" + test_cases = [ + ("1", 0.00001), + ("10", 0.0001), + ("100", 0.001), + ("1000", 0.01), + ("10000", 0.1), + ("100000", 1.0), + ("1000000", 10.0), + ("-1", -0.00001), + ("-10", -0.0001), + ("-100", -0.001), + ("-1000", -0.01), + ("-10000", -0.1), + ("-100000", -1.0), + ("-1000000", -10.0), + ("0", 0.0), + ] for string, value in test_cases: - assert_equal(value, parse_gerber_value(string, fmt, zero_suppression)) - assert_equal(string, write_gerber_value(value, fmt, zero_suppression)) + assert value == parse_gerber_value(string, fmt, zero_suppression) + assert string == write_gerber_value(value, fmt, zero_suppression) # Test trailing zero suppression - zero_suppression = 'trailing' - test_cases = [('1', 10.0), ('01', 1.0), ('001', 0.1), ('0001', 0.01), - ('00001', 0.001), ('000001', 0.0001), - ('0000001', 0.00001), ('-1', -10.0), ('-01', -1.0), - ('-001', -0.1), ('-0001', -0.01), ('-00001', -0.001), - ('-000001', -0.0001), ('-0000001', -0.00001), - ('0', 0.0)] + zero_suppression = "trailing" + test_cases = [ + ("1", 10.0), + ("01", 1.0), + ("001", 0.1), + ("0001", 0.01), + ("00001", 0.001), + ("000001", 0.0001), + ("0000001", 0.00001), + ("-1", -10.0), + ("-01", -1.0), + ("-001", -0.1), + ("-0001", -0.01), + ("-00001", -0.001), + ("-000001", -0.0001), + ("-0000001", -0.00001), + ("0", 0.0), + ] for string, value in test_cases: - assert_equal(value, parse_gerber_value(string, fmt, zero_suppression)) - assert_equal(string, write_gerber_value(value, fmt, zero_suppression)) + assert value == parse_gerber_value(string, fmt, zero_suppression) + assert string == write_gerber_value(value, fmt, zero_suppression) - assert_equal(write_gerber_value(0.000000001, fmt, 'leading'), '0') - assert_equal(write_gerber_value(0.000000001, fmt, 'trailing'), '0') + assert write_gerber_value(0.000000001, fmt, "leading") == "0" + assert write_gerber_value(0.000000001, fmt, "trailing") == "0" def test_format(): """ Test gerber value parser and writer handle format correctly """ - zero_suppression = 'leading' - test_cases = [((2, 7), '1', 0.0000001), ((2, 6), '1', 0.000001), - ((2, 5), '1', 0.00001), ((2, 4), '1', 0.0001), - ((2, 3), '1', 0.001), ((2, 2), '1', 0.01), - ((2, 1), '1', 0.1), ((2, 7), '-1', -0.0000001), - ((2, 6), '-1', -0.000001), ((2, 5), '-1', -0.00001), - ((2, 4), '-1', -0.0001), ((2, 3), '-1', -0.001), - ((2, 2), '-1', -0.01), ((2, 1), '-1', -0.1), - ((2, 6), '0', 0)] + zero_suppression = "leading" + test_cases = [ + ((2, 7), "1", 0.0000001), + ((2, 6), "1", 0.000001), + ((2, 5), "1", 0.00001), + ((2, 4), "1", 0.0001), + ((2, 3), "1", 0.001), + ((2, 2), "1", 0.01), + ((2, 1), "1", 0.1), + ((2, 7), "-1", -0.0000001), + ((2, 6), "-1", -0.000001), + ((2, 5), "-1", -0.00001), + ((2, 4), "-1", -0.0001), + ((2, 3), "-1", -0.001), + ((2, 2), "-1", -0.01), + ((2, 1), "-1", -0.1), + ((2, 6), "0", 0), + ] for fmt, string, value in test_cases: - assert_equal(value, parse_gerber_value(string, fmt, zero_suppression)) - assert_equal(string, write_gerber_value(value, fmt, zero_suppression)) - - zero_suppression = 'trailing' - test_cases = [((6, 5), '1', 100000.0), ((5, 5), '1', 10000.0), - ((4, 5), '1', 1000.0), ((3, 5), '1', 100.0), - ((2, 5), '1', 10.0), ((1, 5), '1', 1.0), - ((6, 5), '-1', -100000.0), ((5, 5), '-1', -10000.0), - ((4, 5), '-1', -1000.0), ((3, 5), '-1', -100.0), - ((2, 5), '-1', -10.0), ((1, 5), '-1', -1.0), - ((2, 5), '0', 0)] + assert value == parse_gerber_value(string, fmt, zero_suppression) + assert string == write_gerber_value(value, fmt, zero_suppression) + + zero_suppression = "trailing" + test_cases = [ + ((6, 5), "1", 100000.0), + ((5, 5), "1", 10000.0), + ((4, 5), "1", 1000.0), + ((3, 5), "1", 100.0), + ((2, 5), "1", 10.0), + ((1, 5), "1", 1.0), + ((6, 5), "-1", -100000.0), + ((5, 5), "-1", -10000.0), + ((4, 5), "-1", -1000.0), + ((3, 5), "-1", -100.0), + ((2, 5), "-1", -10.0), + ((1, 5), "-1", -1.0), + ((2, 5), "0", 0), + ] for fmt, string, value in test_cases: - assert_equal(value, parse_gerber_value(string, fmt, zero_suppression)) - assert_equal(string, write_gerber_value(value, fmt, zero_suppression)) + assert value == parse_gerber_value(string, fmt, zero_suppression) + assert string == write_gerber_value(value, fmt, zero_suppression) def test_decimal_truncation(): @@ -76,54 +115,53 @@ def test_decimal_truncation(): value = 1.123456789 for x in range(10): result = decimal_string(value, precision=x) - calculated = '1.' + ''.join(str(y) for y in range(1, x + 1)) - assert_equal(result, calculated) + calculated = "1." + "".join(str(y) for y in range(1, x + 1)) + assert result == calculated def test_decimal_padding(): """ Test decimal_string padding """ value = 1.123 - assert_equal(decimal_string(value, precision=3, padding=True), '1.123') - assert_equal(decimal_string(value, precision=4, padding=True), '1.1230') - assert_equal(decimal_string(value, precision=5, padding=True), '1.12300') - assert_equal(decimal_string(value, precision=6, padding=True), '1.123000') - assert_equal(decimal_string(0, precision=6, padding=True), '0.000000') + assert decimal_string(value, precision=3, padding=True) == "1.123" + assert decimal_string(value, precision=4, padding=True) == "1.1230" + assert decimal_string(value, precision=5, padding=True) == "1.12300" + assert decimal_string(value, precision=6, padding=True) == "1.123000" + assert decimal_string(0, precision=6, padding=True) == "0.000000" def test_parse_format_validation(): """ Test parse_gerber_value() format validation """ - assert_raises(ValueError, parse_gerber_value, '00001111', (7, 5)) - assert_raises(ValueError, parse_gerber_value, '00001111', (5, 8)) - assert_raises(ValueError, parse_gerber_value, '00001111', (13, 1)) + pytest.raises(ValueError, parse_gerber_value, "00001111", (7, 5)) + pytest.raises(ValueError, parse_gerber_value, "00001111", (5, 8)) + pytest.raises(ValueError, parse_gerber_value, "00001111", (13, 1)) def test_write_format_validation(): """ Test write_gerber_value() format validation """ - assert_raises(ValueError, write_gerber_value, 69.0, (7, 5)) - assert_raises(ValueError, write_gerber_value, 69.0, (5, 8)) - assert_raises(ValueError, write_gerber_value, 69.0, (13, 1)) + pytest.raises(ValueError, write_gerber_value, 69.0, (7, 5)) + pytest.raises(ValueError, write_gerber_value, 69.0, (5, 8)) + pytest.raises(ValueError, write_gerber_value, 69.0, (13, 1)) def test_detect_format_with_short_file(): """ Verify file format detection works with short files """ - assert_equal('unknown', detect_file_format('gerber/tests/__init__.py')) + assert "unknown" == detect_file_format("gerber/tests/__init__.py") def test_validate_coordinates(): - assert_raises(TypeError, validate_coordinates, 3) - assert_raises(TypeError, validate_coordinates, 3.1) - assert_raises(TypeError, validate_coordinates, '14') - assert_raises(TypeError, validate_coordinates, (0,)) - assert_raises(TypeError, validate_coordinates, (0, 1, 2)) - assert_raises(TypeError, validate_coordinates, (0, 'string')) + pytest.raises(TypeError, validate_coordinates, 3) + pytest.raises(TypeError, validate_coordinates, 3.1) + pytest.raises(TypeError, validate_coordinates, "14") + pytest.raises(TypeError, validate_coordinates, (0,)) + pytest.raises(TypeError, validate_coordinates, (0, 1, 2)) + pytest.raises(TypeError, validate_coordinates, (0, "string")) def test_convex_hull(): points = [(0, 0), (1, 0), (1, 1), (0.5, 0.5), (0, 1), (0, 0)] expected = [(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)] - assert_equal(set(convex_hull(points)), set(expected)) -
\ No newline at end of file + assert set(convex_hull(points)) == set(expected) |