kopia lustrzana https://github.com/EmbroidePy/pyembroidery
74 wiersze
3.2 KiB
Python
74 wiersze
3.2 KiB
Python
from __future__ import print_function
|
|
|
|
import unittest
|
|
|
|
from pyembroidery import *
|
|
from test.pattern_for_tests import *
|
|
|
|
|
|
class TestTrims(unittest.TestCase):
|
|
|
|
def test_dst_trims(self):
|
|
file0 = "trim.dst"
|
|
pattern = get_fractal_pattern()
|
|
write_dst(pattern, file0)
|
|
loaded_pattern = read_dst(file0)
|
|
self.assertIsNotNone(loaded_pattern)
|
|
self.assertNotEqual(loaded_pattern.count_stitch_commands(TRIM), 0)
|
|
self.addCleanup(os.remove, file0)
|
|
|
|
def test_dst_trims_fail(self):
|
|
file0 = "trim.dst"
|
|
pattern = get_fractal_pattern()
|
|
write_dst(pattern, file0)
|
|
loaded_pattern = read_dst(file0, {"trim_at": 50}) # Lines beyond 50 jumps get a trim.
|
|
self.assertIsNotNone(loaded_pattern)
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(TRIM), 0)
|
|
self.addCleanup(os.remove, file0)
|
|
|
|
def test_dst_trims_success(self):
|
|
file0 = "trim.dst"
|
|
pattern = get_fractal_pattern()
|
|
write_dst(pattern, file0, {"trim_at": 50}) # We make trim jumps big enough.
|
|
loaded_pattern = read_dst(file0, {"trim_at": 50, "clipping": False}) # Lines beyond 50 jumps get a trim.
|
|
self.assertIsNotNone(loaded_pattern)
|
|
self.assertNotEqual(loaded_pattern.count_stitch_commands(TRIM), 0)
|
|
self.addCleanup(os.remove, file0)
|
|
|
|
def test_jef_trims(self):
|
|
file0 = "trim.jef"
|
|
pattern = get_fractal_pattern()
|
|
write_jef(pattern, file0)
|
|
loaded_pattern = read_jef(file0)
|
|
self.assertIsNotNone(loaded_pattern)
|
|
self.assertNotEqual(loaded_pattern.count_stitch_commands(TRIM), 0)
|
|
self.addCleanup(os.remove, file0)
|
|
|
|
def test_jef_trims_off(self):
|
|
file0 = "trim.jef"
|
|
pattern = get_fractal_pattern()
|
|
write_jef(pattern, file0)
|
|
loaded_pattern = read_jef(file0, {"trim_distance": None})
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(JUMP), 15)
|
|
self.assertIsNotNone(loaded_pattern)
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(TRIM), 0)
|
|
self.addCleanup(os.remove, file0)
|
|
|
|
def test_jef_trims_commands(self):
|
|
file0 = "trim.jef"
|
|
pattern = get_fractal_pattern()
|
|
write_jef(pattern, file0, {"trims": True})
|
|
loaded_pattern = read_jef(file0, {"trim_distance": None})
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(JUMP), 15)
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(TRIM), 0)
|
|
loaded_pattern = read_jef(file0, {"trim_distance": None, "clipping": False})
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(JUMP), 21)
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(TRIM), 0)
|
|
loaded_pattern = read_jef(file0, {"trim_distance": None, "clipping": False, "trims": True, })
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(JUMP), 21)
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(TRIM), 2)
|
|
loaded_pattern = read_jef(file0, {"trim_distance": None, "trims": True})
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(JUMP), 15)
|
|
self.assertEqual(loaded_pattern.count_stitch_commands(TRIM), 2)
|
|
self.addCleanup(os.remove, file0)
|