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

DomCR / ACadSharp / 22253381768

21 Feb 2026 08:11AM UTC coverage: 77.315% (-0.3%) from 77.591%
22253381768

push

github

web-flow
Merge pull request #978 from DomCR/issue-976_implement-contextdata

issue-976 context data

8180 of 11464 branches covered (71.35%)

Branch coverage included in aggregate %.

109 of 277 new or added lines in 16 files covered. (39.35%)

7 existing lines in 4 files now uncovered.

29573 of 37366 relevant lines covered (79.14%)

150812.67 hits per line

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

39.13
/src/ACadSharp/Objects/AnnotScaleObjectContextData.cs
1
using System;
2

3
using ACadSharp.Attributes;
4

5
namespace ACadSharp.Objects;
6

7
[DxfSubClass(null, true)]
8
public abstract class AnnotScaleObjectContextData : ObjectContextData
9
{
10
        //TODO: solve conflict with MultiLeaderObjectContextData
11
        //[DxfCodeValue(DxfReferenceType.Handle, 340)]
12
        public Scale Scale
13
        {
NEW
14
                get { return _scale; }
×
15
                set
16
                {
×
NEW
17
                        if (value == null)
×
NEW
18
                        {
×
NEW
19
                                throw new ArgumentNullException(nameof(value));
×
20
                        }
21

NEW
22
                        if (this.Document != null)
×
NEW
23
                        {
×
NEW
24
                                this._scale = CadObject.updateCollection(value, this.Document.Scales);
×
NEW
25
                        }
×
26
                        else
27
                        {
×
NEW
28
                                this._scale = value;
×
29
                        }
×
UNCOV
30
                }
×
31
        }
32

33
        /// <inheritdoc/>
NEW
34
        public override string SubclassMarker => DxfSubclassMarker.AnnotScaleObjectContextData;
×
35

36
        private Scale _scale = Scale.Default;
5,072✔
37

38
        /// <inheritdoc/>
39
        public override CadObject Clone()
40
        {
5✔
41
                AnnotScaleObjectContextData clone = (AnnotScaleObjectContextData)base.Clone();
5✔
42

43
                clone._scale = (Scale)this._scale?.Clone();
5!
44

45
                return clone;
5✔
46
        }
5✔
47

48
        internal override void AssignDocument(CadDocument doc)
49
        {
5,187✔
50
                base.AssignDocument(doc);
5,187✔
51

52
                this._scale = CadObject.updateCollection(this._scale, this.Document?.Scales);
5,187!
53

54
                this.Document.Scales.OnRemove += tableOnRemove;
5,187✔
55
        }
5,187✔
56

57
        internal override void UnassignDocument()
58
        {
300✔
59
                this.Document.Scales.OnRemove -= tableOnRemove;
300✔
60

61
                base.UnassignDocument();
300✔
62

63
                this._scale = (Scale)this._scale.Clone();
300✔
64
        }
300✔
65

66
        private void tableOnRemove(object sender, CollectionChangedEventArgs e)
NEW
67
        {
×
NEW
68
                if (e.Item.Equals(this._scale))
×
69
                {
×
NEW
70
                        this._scale = this.Document.Scales[Scale.Default.Name];
×
71
                }
×
UNCOV
72
        }
×
73
}
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