class TestHatchPatternCreate(unittest.TestCase): def setUp(self): tags = ClassifiedTags.from_text(_HATCH_TPL) self.hatch = Hatch(tags) def test_create_new_hatch(self): pattern = [ [45, (0, 0), (0, 1), []], # 1. Line: continuous [45, (0, 0.5), (0, 1), [0.2, -0.1]] # 2. Line: dashed ] self.hatch.set_pattern_fill("MOZMAN", definition=pattern) self.assertEqual("MOZMAN", self.hatch.dxf.pattern_name) with self.hatch.edit_pattern() as p: line0 = p.lines[0] self.assertEqual(45, line0.angle) self.assertEqual((0, 0), line0.base_point) self.assertEqual((0, 1), line0.offset) self.assertEqual(0, len(line0.dash_length_items)) line1 = p.lines[1] self.assertEqual(45, line1.angle) self.assertEqual((0, 0.5), line1.base_point) self.assertEqual((0, 1), line1.offset) self.assertEqual(2, len(line1.dash_length_items)) self.assertEqual([0.2, -0.1], line1.dash_length_items)
class TestHatchPatternRead(unittest.TestCase): def setUp(self): tags = ClassifiedTags.from_text(HATCH_PATTERN) self.hatch = Hatch(tags) def test_is_pattern_hatch(self): self.assertFalse(self.hatch.has_solid_fill) self.assertFalse(self.hatch.has_gradient_data) self.assertTrue(self.hatch.has_pattern_fill) def test_edit_pattern(self): with self.hatch.edit_pattern() as pattern_editor: self.assertEqual(2, len(pattern_editor.lines)) line0 = pattern_editor.lines[0] self.assertEqual(45, line0.angle) self.assertEqual((0, 0), line0.base_point) self.assertEqual((-0.1767766952966369, 0.1767766952966369), line0.offset) self.assertEqual(0, len(line0.dash_length_items)) line1 = pattern_editor.lines[1] self.assertEqual(45, line1.angle) self.assertEqual((0.176776695, 0), line1.base_point) self.assertEqual((-0.1767766952966369, 0.1767766952966369), line1.offset) self.assertEqual(2, len(line1.dash_length_items)) self.assertEqual([0.125, -0.0625], line1.dash_length_items)
class TestHatchPatternRead(unittest.TestCase): def setUp(self): tags = ClassifiedTags.from_text(HATCH_PATTERN) self.hatch = Hatch(tags) def test_edit_pattern(self): with self.hatch.edit_pattern() as pattern_editor: self.assertEqual(2, len(pattern_editor.lines)) line0 = pattern_editor.lines[0] self.assertEqual(45, line0.angle) self.assertEqual((0, 0), line0.base_point) self.assertEqual((-0.1767766952966369, 0.1767766952966369), line0.offset) self.assertEqual(0, len(line0.dash_length_items)) line1 = pattern_editor.lines[1] self.assertEqual(45, line1.angle) self.assertEqual((0.176776695, 0), line1.base_point) self.assertEqual((-0.1767766952966369, 0.1767766952966369), line1.offset) self.assertEqual(2, len(line1.dash_length_items)) self.assertEqual([0.125, -0.0625], line1.dash_length_items)