• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DomCR / ACadSharp / 24985754502

27 Apr 2026 08:55AM UTC coverage: 77.074%. Remained the same
24985754502

push

github

web-flow
Merge pull request #1043 from gherards99/refactor/xdata-system-convert

refactor: use System.Convert where applicable in group code value conversion

8456 of 11923 branches covered (70.92%)

Branch coverage included in aggregate %.

1 of 7 new or added lines in 1 file covered. (14.29%)

7 existing lines in 2 files now uncovered.

30457 of 38565 relevant lines covered (78.98%)

153239.16 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

32.69
/src/ACadSharp/XData/ExtendedDataRecord.cs
1
using CSMath;
2

3
namespace ACadSharp.XData
4
{
5
        /// <summary>
6
        /// Defines an <see cref="ExtendedData"/> record.
7
        /// </summary>
8
        public abstract class ExtendedDataRecord
9
        {
10
                /// <summary>
11
                /// Dxf code which defines the value type.
12
                /// </summary>
13
                public DxfCode Code
14
                {
15
                        get { return this._code; }
25,800✔
16
                }
17

18
                /// <summary>
19
                /// Raw value as an object.
20
                /// </summary>
21
                public object RawValue { get { return this._value; } }
2,226✔
22

23
                private DxfCode _code;
24

25
                protected object _value;
26

27
                protected ExtendedDataRecord(DxfCode code, object value)
340,731✔
28
                {
340,731✔
29
                        this._code = code;
340,731✔
30
                        this._value = value;
340,731✔
31
                }
340,731✔
32

33
                /// <inheritdoc/>
34
                public override string ToString()
35
                {
×
36
                        return $"{this.Code}:{this._value}";
×
37
                }
×
38

39
                public static ExtendedDataRecord Create(GroupCodeValueType groupCode, object value)
40
                {
1✔
41
                        switch (groupCode)
1!
42
                        {
43
                                case GroupCodeValueType.Bool:
NEW
44
                                        return new ExtendedDataInteger16((short)((System.Convert.ToBoolean(value)) ? 1 : 0));
×
45
                                case GroupCodeValueType.Point3D:
46
                                        return new ExtendedDataCoordinate((XYZ)value);
×
47
                                case GroupCodeValueType.Handle:
48
                                case GroupCodeValueType.ObjectId:
NEW
49
                                        return new ExtendedDataHandle(System.Convert.ToUInt64(value));
×
50
                                case GroupCodeValueType.String:
51
                                case GroupCodeValueType.Comment:
52
                                case GroupCodeValueType.ExtendedDataString:
NEW
53
                                        return new ExtendedDataString(System.Convert.ToString(value));
×
54
                                case GroupCodeValueType.Chunk:
55
                                case GroupCodeValueType.ExtendedDataChunk:
56
                                        return new ExtendedDataBinaryChunk((byte[])value);
×
57
                                case GroupCodeValueType.ExtendedDataHandle:
NEW
58
                                        return new ExtendedDataHandle(System.Convert.ToUInt64(value));
×
59
                                case GroupCodeValueType.Double:
60
                                case GroupCodeValueType.ExtendedDataDouble:
61
                                        return new ExtendedDataReal(System.Convert.ToDouble(value));
1✔
62
                                case GroupCodeValueType.Int16:
63
                                case GroupCodeValueType.ExtendedDataInt16:
NEW
64
                                        return new ExtendedDataInteger16(System.Convert.ToInt16(value));
×
65
                                case GroupCodeValueType.Int32:
66
                                case GroupCodeValueType.ExtendedDataInt32:
NEW
67
                                        return new ExtendedDataInteger32(System.Convert.ToInt32(value));
×
68
                                case GroupCodeValueType.None:
69
                                case GroupCodeValueType.Byte:
70
                                case GroupCodeValueType.Int64:
71
                                default:
72
                                        throw new System.NotSupportedException();
×
73
                        }
74
                }
1✔
75
        }
76

77
        /// <summary>
78
        /// Defines a typed <see cref="ExtendedData"/> record.
79
        /// </summary>
80
        /// <typeparam name="T"></typeparam>
81
        public abstract class ExtendedDataRecord<T> : ExtendedDataRecord
82
        {
83
                /// <summary>
84
                /// Value for this record.
85
                /// </summary>
86
                public T Value
87
                {
88
                        get { return (T)this._value; }
22,026✔
89
                        set
90
                        {
×
91
                                this._value = value;
×
92
                        }
×
93
                }
94

95
                protected ExtendedDataRecord(DxfCode code, T value) : base(code, value)
318,823✔
96
                {
318,823✔
97
                }
318,823✔
98
        }
99
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc