Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)