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

DomCR / ACadSharp / 25256733691

02 May 2026 04:42PM UTC coverage: 77.076% (-0.02%) from 77.1%
25256733691

push

github

web-flow
Merge pull request #1057 from DomCR/issue/1055_dimension-override-applied-by-dxfmap-fix

issue-1055 dimension override

8459 of 11921 branches covered (70.96%)

Branch coverage included in aggregate %.

53 of 84 new or added lines in 4 files covered. (63.1%)

20 existing lines in 3 files now uncovered.

30465 of 38580 relevant lines covered (78.97%)

154302.26 hits per line

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

40.38
/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 { get; }
8,600✔
14

15
        /// <summary>
16
        /// Raw value as an object.
17
        /// </summary>
18
        public object RawValue { get { return this._value; } }
2,268✔
19

20
        protected object _value;
21

22
        protected ExtendedDataRecord(DxfCode code, object value)
340,780✔
23
        {
340,780✔
24
                this.Code = code;
340,780✔
25
                this._value = value;
340,780✔
26
        }
340,780✔
27

28
        /// <summary>
29
        /// Creates a new instance of an appropriate ExtendedDataRecord subclass based on the specified group code and value.
30
        /// </summary>
31
        /// <remarks>The type of the returned ExtendedDataRecord depends on the group code provided. The value parameter
32
        /// must be compatible with the expected type for the given group code; otherwise, an exception may occur.</remarks>
33
        /// <param name="groupCode">The group code that determines the type of extended data record to create.</param>
34
        /// <param name="value">The value to be encapsulated in the extended data record. The expected type and format depend on the specified
35
        /// group code.</param>
36
        /// <returns>An instance of an ExtendedDataRecord subclass representing the provided value for the specified group code.</returns>
37
        /// <exception cref="System.NotSupportedException">Thrown if the specified group code is not supported.</exception>
38
        public static ExtendedDataRecord Create(GroupCodeValueType groupCode, object value)
39
        {
15✔
40
                switch (groupCode)
15!
41
                {
42
                        case GroupCodeValueType.Bool:
NEW
43
                                return new ExtendedDataInteger16((short)((System.Convert.ToBoolean(value)) ? 1 : 0));
×
44
                        case GroupCodeValueType.Point3D:
NEW
45
                                return new ExtendedDataCoordinate((XYZ)value);
×
46
                        case GroupCodeValueType.Handle:
47
                        case GroupCodeValueType.ObjectId:
NEW
48
                                return new ExtendedDataHandle(System.Convert.ToUInt64(value));
×
49
                        case GroupCodeValueType.String:
50
                        case GroupCodeValueType.Comment:
51
                        case GroupCodeValueType.ExtendedDataString:
NEW
52
                                return new ExtendedDataString(System.Convert.ToString(value));
×
53
                        case GroupCodeValueType.Chunk:
54
                        case GroupCodeValueType.ExtendedDataChunk:
NEW
55
                                return new ExtendedDataBinaryChunk((byte[])value);
×
56
                        case GroupCodeValueType.ExtendedDataHandle:
NEW
57
                                return new ExtendedDataHandle(System.Convert.ToUInt64(value));
×
58
                        case GroupCodeValueType.Double:
59
                        case GroupCodeValueType.ExtendedDataDouble:
60
                                return new ExtendedDataReal(System.Convert.ToDouble(value));
8✔
61
                        case GroupCodeValueType.Byte:
62
                        case GroupCodeValueType.Int16:
63
                        case GroupCodeValueType.ExtendedDataInt16:
64
                                return new ExtendedDataInteger16(System.Convert.ToInt16(value));
7✔
65
                        case GroupCodeValueType.Int32:
66
                        case GroupCodeValueType.ExtendedDataInt32:
67
                        case GroupCodeValueType.Int64:
NEW
68
                                return new ExtendedDataInteger32(System.Convert.ToInt32(value));
×
69
                        case GroupCodeValueType.None:
70
                        default:
NEW
71
                                throw new System.NotSupportedException();
×
72
                }
73
        }
15✔
74

75
        /// <inheritdoc/>
76
        public override string ToString()
NEW
77
        {
×
NEW
78
                return $"{this.Code}:{this._value}";
×
UNCOV
79
        }
×
80
}
81

82
/// <summary>
83
/// Defines a typed <see cref="ExtendedData"/> record.
84
/// </summary>
85
/// <typeparam name="T"></typeparam>
86
public abstract class ExtendedDataRecord<T> : ExtendedDataRecord
87
{
88
        /// <summary>
89
        /// Value for this record.
90
        /// </summary>
91
        public T Value
92
        {
93
                get { return (T)this._value; }
22,173✔
94
                set
UNCOV
95
                {
×
NEW
96
                        this._value = value;
×
UNCOV
97
                }
×
98
        }
99

100
        protected ExtendedDataRecord(DxfCode code, T value) : base(code, value)
318,858✔
101
        {
318,858✔
102
        }
318,858✔
103
}
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