예제 #1
0
 def test_error_set_point_with_wrong_axis_count(self):
     tags = ExtendedTags.from_text("13\n1.0\n23\n2.0\n40\n0.0\n")
     point = PointAccessor(tags)
     with self.assertRaises(DXFValueError):
         point.dxf.flex = (3., 4., 5., 6.)
     with self.assertRaises(DXFValueError):
         point.dxf.flex = (3., )
예제 #2
0
 def test_set_point(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     point.dxf.point = (7, 8, 9)
     self.assertEqual(
         1, len(tags.noclass)
     )  # points represented by just one tag since v0.6 (code, (x, y[, z]))
     self.assertEqual((7., 8., 9.), point.dxf.point)
예제 #3
0
 def test_set_2d_point(self):
     point = PointAccessor(
         ExtendedTags.from_text("11\n1.0\n21\n2.0\n40\n3.0\n"))
     point.dxf.flat = (4, 5)
     self.assertEqual(
         2, len(point.tags.noclass)
     )  # points represented by just one tag since v0.6 (code, (x, y[, z]))
     self.assertEqual((4., 5.), point.dxf.flat)
예제 #4
0
 def test_getdxfattr_no_DXF_default_value_at_wrong_dxf_version(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     # just_AC1015 has a DXF default value, but the drawing has an insufficient DXF version
     with self.assertRaises(DXFValueError):
         point.get_dxf_attrib('just_AC1015')
     # except the USER defined default value
     self.assertEqual(17, point.get_dxf_attrib('just_AC1015', 17))
예제 #5
0
 def test_set_2d_point_at_existing_3d_point(self):
     tags = ExtendedTags.from_text("13\n1.0\n23\n2.0\n33\n3.0\n")
     point = PointAccessor(tags)
     point.dxf.flex = (3., 4.)
     self.assertEqual(
         1, len(tags.noclass)
     )  # points represented by just one tag since v0.6 (code, (x, y[, z]))
     self.assertEqual((3., 4.), point.dxf.flex)
예제 #6
0
 def test_delete_xtype_dxfattrib(self):
     tags = ExtendedTags.from_text("70\n7\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertEqual((1.0, 2.0, 3.0), point.dxf.point)
     del point.dxf.point
     self.assertFalse(point.dxf_attrib_exists('point'))
     # low level check
     point_tags = [
         tag for tag in point.tags.noclass if tag.code in (10, 20, 30)
     ]
     self.assertEqual(0, len(point_tags))
예제 #7
0
 def test_get_3d_point(self):
     tags = ExtendedTags.from_text("13\n1.0\n23\n2.0\n33\n3.0\n")
     point = PointAccessor(tags)
     self.assertEqual((1., 2., 3.), point.dxf.flex)
예제 #8
0
def xrecord():
    return XRecord(ExtendedTags.from_text(XRECORD1))
예제 #9
0
 def test_set_and_get_dxfattrib(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     point.dxf.flags = 7
     self.assertEqual(7, point.dxf.flags)
예제 #10
0
 def test_attribute_error(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     with self.assertRaises(DXFAttributeError):
         point.dxf.xflag
예제 #11
0
 def test_dxfattr_exists(self):
     tags = ExtendedTags.from_text("70\n9\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertTrue(point.dxf_attrib_exists('flags'))
예제 #12
0
 def setUp(self):
     self.entity = DXFEntity(ExtendedTags.from_text(LINE_DATA))
예제 #13
0
 def test_error_get_2d_point_for_required_3d_point(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n  0\nVALUE\n")
     point = PointAccessor(tags)
     with self.assertRaises(DXFStructureError):
         point.dxf.point
예제 #14
0
 def test_set_not_existing_flex_point_as_2D(self):
     tags = ExtendedTags.from_text("70\n7\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertFalse(point.dxf_attrib_exists('flex'))
     point.dxf.flex = (7, 8)
     self.assertEqual((7, 8), point.dxf.flex)
예제 #15
0
 def test_set_not_existing_3D_point_with_wrong_axis_count(self):
     tags = ExtendedTags.from_text("70\n7\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertFalse(point.dxf_attrib_exists('xp'))
     with self.assertRaises(DXFValueError):
         point.dxf.xp = (7, 8)
예제 #16
0
 def test_set_not_existing_3D_point(self):
     tags = ExtendedTags.from_text("70\n7\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertFalse(point.dxf_attrib_exists('xp'))
     point.dxf.xp = (7, 8, 9)
     self.assertEqual((7, 8, 9), point.dxf.xp)
예제 #17
0
 def test_delete_not_supported_dxfattrib(self):
     tags = ExtendedTags.from_text("70\n7\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     with self.assertRaises(DXFAttributeError):
         del point.dxf.mozman
예제 #18
0
 def test_get_dxfattrib_for_wrong_dxfversion_without_error(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n71\n999\n")
     point = PointAccessor(tags)
     self.assertEqual(999, point.dxf.just_AC1015,
                      "If false tags are there, don't care")
예제 #19
0
 def test_supports_dxfattrib(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertTrue(point.supports_dxf_attrib('xp'))
예제 #20
0
 def test_delete_simple_dxfattrib(self):
     tags = ExtendedTags.from_text("70\n7\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertEqual(7, point.dxf.flags)
     del point.dxf.flags
     self.assertFalse(point.dxf_attrib_exists('flags'))
예제 #21
0
 def test_supports_dxfattrib2(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertFalse(point.supports_dxf_attrib('mozman'))
     self.assertFalse(point.supports_dxf_attrib('just_AC1015'))
예제 #22
0
 def test_get_3d_point_shift(self):
     tags = ExtendedTags.from_text("12\n1.0\n22\n2.0\n32\n3.0\n")
     point = PointAccessor(tags)
     self.assertEqual((1., 2., 3.), point.dxf.xp)
예제 #23
0
 def test_getdxfattr_exist(self):
     tags = ExtendedTags.from_text("70\n9\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertEqual(9, point.get_dxf_attrib('flags', 17))
예제 #24
0
 def test_error(self):
     tags = ExtendedTags.from_text("12\n1.0\n22\n2.0\n32\n3.0\n")
     point = PointAccessor(tags)
     with self.assertRaises(DXFValueError):
         point.dxf.point
예제 #25
0
 def test_dxfattr_doesnt_exist(self):
     tags = ExtendedTags.from_text("70\n9\n10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     self.assertFalse(point.dxf_attrib_exists('xp'))
예제 #26
0
 def test_get_2d_point(self):
     point = PointAccessor(
         ExtendedTags.from_text("11\n1.0\n21\n2.0\n40\n3.0\n"))
     self.assertEqual((1., 2.), point.dxf.flat)
예제 #27
0
 def test_valid_dxf_attrib_names(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     # just_AC1015 - is not valid for AC1009
     self.assertEqual(['flags', 'flat', 'flex', 'point', 'xp'],
                      sorted(point.valid_dxf_attrib_names()))
예제 #28
0
 def test_error_get_2d_point_form_3d_point(self):
     point = PointAccessor(
         ExtendedTags.from_text("11\n1.0\n21\n2.0\n31\n3.0\n"))
     with self.assertRaises(DXFStructureError):
         point.dxf.flat
예제 #29
0
 def test_set_dxfattrib_for_wrong_dxfversion_error(self):
     tags = ExtendedTags.from_text("10\n1.0\n20\n2.0\n30\n3.0\n")
     point = PointAccessor(tags)
     with self.assertRaises(DXFAttributeError):
         point.dxf.just_AC1015 = 7
예제 #30
0
 def setUp(self):
     self.dxfdict = DXFDictionary(ExtendedTags.from_text(EMPTY_DICT))