11using ACadSharp . Entities ;
2+ using ACadSharp . Extensions ;
3+ using ACadSharp . Objects ;
24using ACadSharp . Tables ;
35using ACadSharp . Tests . Common ;
46using System ;
@@ -8,20 +10,6 @@ namespace ACadSharp.Tests.Tables
810{
911 public class BlockRecordTests
1012 {
11- [ Fact ( ) ]
12- public void BlockRecordTest ( )
13- {
14- string name = "my_block" ;
15- BlockRecord record = new BlockRecord ( name ) ;
16-
17- Assert . Equal ( name , record . Name ) ;
18-
19- Assert . NotNull ( record . BlockEntity ) ;
20- Assert . Equal ( record . Name , record . BlockEntity . Name ) ;
21-
22- Assert . NotNull ( record . BlockEnd ) ;
23- }
24-
2513 [ Fact ( ) ]
2614 public void AddEntityTest ( )
2715 {
@@ -45,33 +33,69 @@ public void AddEntityTest()
4533 }
4634
4735 [ Fact ( ) ]
48- public void NotAllowDuplicatesTest ( )
36+ public void BlockRecordTest ( )
4937 {
5038 string name = "my_block" ;
5139 BlockRecord record = new BlockRecord ( name ) ;
5240
53- Line l1 = new Line ( ) ;
41+ Assert . Equal ( name , record . Name ) ;
5442
55- record . Entities . Add ( l1 ) ;
56- Assert . Throws < ArgumentException > ( ( ) => record . Entities . Add ( l1 ) ) ;
43+ Assert . NotNull ( record . BlockEntity ) ;
44+ Assert . Equal ( record . Name , record . BlockEntity . Name ) ;
45+
46+ Assert . NotNull ( record . BlockEnd ) ;
5747 }
5848
5949 [ Fact ( ) ]
60- public void CreateSortensTableTest ( )
50+ public void CloneDetachDocumentTest ( )
6151 {
6252 string name = "my_block" ;
6353 BlockRecord record = new BlockRecord ( name ) ;
54+ CadDocument doc = new CadDocument ( ) ;
6455
65- record . Entities . Add ( new Line ( ) ) ;
66- record . Entities . Add ( new Line ( ) ) ;
67- record . Entities . Add ( new Line ( ) ) ;
68- record . Entities . Add ( new Line ( ) ) ;
56+ doc . BlockRecords . Add ( record ) ;
6957
70- record . CreateSortEntitiesTable ( ) ;
58+ BlockRecord clone = ( BlockRecord ) record . Clone ( ) ;
7159
72- Assert . NotNull ( record . SortEntitiesTable ) ;
73- Assert . NotNull ( record . SortEntitiesTable . Sorters ) ;
74- Assert . Empty ( record . SortEntitiesTable . Sorters ) ;
60+ Assert . Null ( clone . Document ) ;
61+ Assert . Null ( clone . BlockEntity . Document ) ;
62+ Assert . Null ( clone . BlockEnd . Document ) ;
63+
64+ Assert . NotNull ( record . Document ) ;
65+ Assert . NotNull ( record . BlockEntity . Document ) ;
66+ Assert . NotNull ( record . BlockEnd . Document ) ;
67+ }
68+
69+ [ Fact ( ) ]
70+ public void CloneInDocumentTest ( )
71+ {
72+ string name = "my_block" ;
73+ BlockRecord record = new BlockRecord ( name ) ;
74+ CadDocument doc = new CadDocument ( ) ;
75+
76+ doc . BlockRecords . Add ( record ) ;
77+
78+ Assert . NotNull ( record . Document ) ;
79+ Assert . NotNull ( record . BlockEntity . Document ) ;
80+ Assert . NotNull ( record . BlockEnd . Document ) ;
81+ }
82+
83+ [ Fact ( ) ]
84+ public void ClonePaperSpaceTest ( )
85+ {
86+ CadDocument doc = new CadDocument ( ) ;
87+
88+ BlockRecord record = doc . PaperSpace . CloneTyped ( ) ;
89+
90+ Assert . NotNull ( record ) ;
91+ Assert . Null ( record . Layout ) ;
92+
93+ //Test the layout keeps the block
94+ Layout paper = doc . Layouts [ "Layout1" ] ;
95+ Layout layout = paper . CloneTyped ( ) ;
96+
97+ Assert . NotNull ( layout ) ;
98+ Assert . NotNull ( layout . AssociatedBlock ) ;
7599 }
76100
77101 [ Fact ( ) ]
@@ -100,37 +124,33 @@ public void CloneTest()
100124 }
101125
102126 [ Fact ( ) ]
103- public void CloneInDocumentTest ( )
127+ public void CreateSortensTableTest ( )
104128 {
105129 string name = "my_block" ;
106130 BlockRecord record = new BlockRecord ( name ) ;
107- CadDocument doc = new CadDocument ( ) ;
108131
109- doc . BlockRecords . Add ( record ) ;
132+ record . Entities . Add ( new Line ( ) ) ;
133+ record . Entities . Add ( new Line ( ) ) ;
134+ record . Entities . Add ( new Line ( ) ) ;
135+ record . Entities . Add ( new Line ( ) ) ;
110136
111- Assert . NotNull ( record . Document ) ;
112- Assert . NotNull ( record . BlockEntity . Document ) ;
113- Assert . NotNull ( record . BlockEnd . Document ) ;
137+ record . CreateSortEntitiesTable ( ) ;
138+
139+ Assert . NotNull ( record . SortEntitiesTable ) ;
140+ Assert . NotNull ( record . SortEntitiesTable . Sorters ) ;
141+ Assert . Empty ( record . SortEntitiesTable . Sorters ) ;
114142 }
115143
116144 [ Fact ( ) ]
117- public void CloneDetachDocumentTest ( )
145+ public void NotAllowDuplicatesTest ( )
118146 {
119147 string name = "my_block" ;
120148 BlockRecord record = new BlockRecord ( name ) ;
121- CadDocument doc = new CadDocument ( ) ;
122-
123- doc . BlockRecords . Add ( record ) ;
124-
125- BlockRecord clone = ( BlockRecord ) record . Clone ( ) ;
126149
127- Assert . Null ( clone . Document ) ;
128- Assert . Null ( clone . BlockEntity . Document ) ;
129- Assert . Null ( clone . BlockEnd . Document ) ;
150+ Line l1 = new Line ( ) ;
130151
131- Assert . NotNull ( record . Document ) ;
132- Assert . NotNull ( record . BlockEntity . Document ) ;
133- Assert . NotNull ( record . BlockEnd . Document ) ;
152+ record . Entities . Add ( l1 ) ;
153+ Assert . Throws < ArgumentException > ( ( ) => record . Entities . Add ( l1 ) ) ;
134154 }
135155 }
136156}
0 commit comments