@@ -64,6 +64,26 @@ public async Task PlainModel()
6464 Assert . AreEqual ( "yours text" , data . yours ) ;
6565 }
6666
67+ [ Test ]
68+ public async Task PlainModelNames ( )
69+ {
70+ _storage . Add ( new CustomDataModel { Id = "mine.txt" , ContentRaw = "mine text" } ) ;
71+ _storage . Add ( new CustomDataModel { Id = "yours.txt" , ContentRaw = "yours text" } ) ;
72+ foreach ( var dataModel in _storage )
73+ {
74+ dataModel . Parse ( ) ;
75+ }
76+
77+ dynamic data = await _dataService . GetDataModelAsync ( ) ;
78+
79+ Assert . IsNotNull ( data ) ;
80+ Assert . IsNotNull ( data . __names ) ;
81+ Assert . IsTrue ( data . __names . GetType ( ) == typeof ( List < string > ) ) ;
82+ Assert . AreEqual ( "mine" , data . __names [ 0 ] ) ;
83+ Assert . AreEqual ( "yours" , data . __names [ 1 ] ) ;
84+ }
85+
86+
6787 [ Test ]
6888 public async Task CaseSensitiveModel ( )
6989 {
@@ -79,8 +99,23 @@ public async Task CaseSensitiveModel()
7999 Assert . IsNotNull ( data ) ;
80100 Assert . AreEqual ( "mine text" , data . mine ) ;
81101 Assert . AreEqual ( "mine sensitive text" , data . Mine ) ;
102+ }
103+
104+ [ Test ]
105+ public async Task CaseSensitiveModelNames ( )
106+ {
107+ _storage . Add ( new CustomDataModel { Id = "mine.txt" , ContentRaw = "mine text" } ) ;
108+ _storage . Add ( new CustomDataModel { Id = "Mine.txt" , ContentRaw = "mine sensitive text" } ) ;
109+ foreach ( var dataModel in _storage )
110+ {
111+ dataModel . Parse ( ) ;
112+ }
113+
114+ dynamic data = await _dataService . GetDataModelAsync ( ) ;
82115
116+ Assert . IsNotNull ( data ) ;
83117 Assert . IsNotNull ( data . __names ) ;
118+ Assert . IsTrue ( data . __names . GetType ( ) == typeof ( List < string > ) ) ;
84119 Assert . AreEqual ( "mine" , data . __names [ 0 ] ) ;
85120 Assert . AreEqual ( "Mine" , data . __names [ 1 ] ) ;
86121 }
@@ -127,10 +162,6 @@ public async Task SpecialPropertyPlainCollection()
127162 Assert . IsNotNull ( data . __collection ) ;
128163 Assert . AreEqual ( "mine text" , data . __collection [ 0 ] ) ;
129164 Assert . AreEqual ( "yours text" , data . __collection [ 1 ] ) ;
130-
131- Assert . IsNotNull ( data . __names ) ;
132- Assert . AreEqual ( "mine" , data . __names [ 0 ] ) ;
133- Assert . AreEqual ( "yours" , data . __names [ 1 ] ) ;
134165 }
135166
136167 [ Test ]
@@ -152,11 +183,34 @@ public async Task SpecialProperty2LevelsCollection()
152183 Assert . AreEqual ( 2 , data . __collection . Count ) ; // f1, f2
153184 Assert . AreEqual ( 2 , data . __collection [ 0 ] . __collection . Count ) ; // f1 => i1, i2
154185 Assert . AreEqual ( 1 , data . __collection [ 1 ] . __collection . Count ) ; // f2 => i3
186+ }
187+
188+ [ Test ]
189+ public async Task SpecialProperty2LevelsNames ( )
190+ {
191+ _storage . Add ( new CustomDataModel { Id = @"f1\i1.txt" , ContentRaw = "1" } ) ;
192+ _storage . Add ( new CustomDataModel { Id = @"f1\i2.txt" , ContentRaw = "2" } ) ;
193+ _storage . Add ( new CustomDataModel { Id = @"f2\i3.txt" , ContentRaw = "3" } ) ;
194+ foreach ( var dataModel in _storage )
195+ {
196+ dataModel . Parse ( ) ;
197+ }
198+
199+ dynamic data = await _dataService . GetDataModelAsync ( ) ;
155200
201+ Assert . IsNotNull ( data ) ;
156202 Assert . IsNotNull ( data . __names ) ;
157- Assert . AreEqual ( 2 , data . __names . Count ) ; // f1, f2
158- Assert . AreEqual ( 2 , data . __collection [ 0 ] . __names . Count ) ; // f1 => i1, i2
159- Assert . AreEqual ( 1 , data . __collection [ 1 ] . __names . Count ) ; // f2 => i3
203+
204+ Assert . AreEqual ( 2 , data . __names . Count ) ;
205+ Assert . AreEqual ( "f1" , data . __names [ 0 ] ) ;
206+ Assert . AreEqual ( "f2" , data . __names [ 1 ] ) ;
207+
208+ Assert . AreEqual ( 2 , data . __collection [ 0 ] . __names . Count ) ;
209+ Assert . AreEqual ( "i1" , data . __collection [ 0 ] . __names [ 0 ] ) ;
210+ Assert . AreEqual ( "i2" , data . __collection [ 0 ] . __names [ 1 ] ) ;
211+
212+ Assert . AreEqual ( 1 , data . __collection [ 1 ] . __names . Count ) ;
213+ Assert . AreEqual ( "i3" , data . __collection [ 1 ] . __names [ 0 ] ) ;
160214 }
161215
162216 [ Test ]
@@ -184,6 +238,27 @@ public async Task SpecialProperty3LevelsCollection()
184238 Assert . AreEqual ( 2 , data . __collection [ 1 ] . __collection . Count ) ; // f2 => i2, i3
185239 Assert . AreEqual ( 1 , data . __collection [ 2 ] . __collection . Count ) ; // f3 => s3
186240 Assert . AreEqual ( 2 , data . __collection [ 2 ] . __collection [ 0 ] . __collection . Count ) ; // f3 => s3 => i4, i5
241+ }
242+
243+
244+ [ Test ]
245+ public async Task SpecialProperty3LevelsNames ( )
246+ {
247+ _storage . Add ( new CustomDataModel { Id = @"f1\i1.txt" , ContentRaw = "1" } ) ;
248+ _storage . Add ( new CustomDataModel { Id = @"f2\i2.txt" , ContentRaw = "2" } ) ;
249+ _storage . Add ( new CustomDataModel { Id = @"f2\i3.txt" , ContentRaw = "3" } ) ;
250+ _storage . Add ( new CustomDataModel { Id = @"f3\s3\i4.txt" , ContentRaw = "4" } ) ;
251+ _storage . Add ( new CustomDataModel { Id = @"f3\s3\i5.txt" , ContentRaw = "5" } ) ;
252+ _storage . Add ( new CustomDataModel { Id = @"f1\i6.txt" , ContentRaw = "6" } ) ;
253+ _storage . Add ( new CustomDataModel { Id = @"f1\i7.txt" , ContentRaw = "7" } ) ;
254+ foreach ( var dataModel in _storage )
255+ {
256+ dataModel . Parse ( ) ;
257+ }
258+
259+ dynamic data = await _dataService . GetDataModelAsync ( ) ;
260+
261+ Assert . IsNotNull ( data ) ;
187262
188263 Assert . IsNotNull ( data . __names ) ;
189264 Assert . AreEqual ( 3 , data . __names . Count ) ; // f1, f2, f3
0 commit comments