pyembroidery/test/test_trims_dst_jef.py

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)