1
1
using System ;
2
+ using System . Globalization ;
2
3
using System . Linq ;
3
4
using Datory . Tests . Mocks ;
5
+ using Datory . Utils ;
4
6
using SqlKata ;
5
7
using Xunit ;
6
8
using Xunit . Abstractions ;
@@ -12,13 +14,13 @@ public class GenericRepositoryTest : IClassFixture<EnvironmentFixture>
12
14
{
13
15
public EnvironmentFixture Fixture { get ; }
14
16
private readonly ITestOutputHelper _output ;
15
- private readonly TestTableRepository _repository ;
17
+ private readonly Repository < TestTableInfo > _repository ;
16
18
17
19
public GenericRepositoryTest ( EnvironmentFixture fixture , ITestOutputHelper output )
18
20
{
19
21
Fixture = fixture ;
20
22
_output = output ;
21
- _repository = new TestTableRepository ( ) ;
23
+ _repository = new Repository < TestTableInfo > ( EnvUtils . DatabaseType , EnvUtils . ConnectionString ) ;
22
24
}
23
25
24
26
[ SkippableFact , TestPriority ( 0 ) ]
@@ -53,15 +55,13 @@ public void Start()
53
55
var lockedColumn = tableColumns . FirstOrDefault ( x => x . AttributeName == nameof ( TestTableInfo . Locked ) ) ;
54
56
Assert . Null ( lockedColumn ) ;
55
57
56
- var isExists = DatorySql . IsTableExists ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , tableName ) ;
58
+ var isExists = DatoryUtils . IsTableExists ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , tableName ) ;
57
59
if ( isExists )
58
60
{
59
- DatorySql . DropTable ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , tableName ) ;
61
+ DatoryUtils . DropTable ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , tableName ) ;
60
62
}
61
63
62
- var created = DatorySql . CreateTable ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , tableName , tableColumns , out _ , out var sqlString ) ;
63
- _output . WriteLine ( sqlString ) ;
64
- Assert . True ( created ) ;
64
+ DatoryUtils . CreateTable ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , tableName , tableColumns ) ;
65
65
}
66
66
67
67
[ SkippableFact , TestPriority ( 1 ) ]
@@ -75,7 +75,7 @@ public void TestInsert()
75
75
var dataInfo = new TestTableInfo ( ) ;
76
76
_repository . Insert ( dataInfo ) ;
77
77
Assert . Equal ( 1 , dataInfo . Id ) ;
78
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
78
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
79
79
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
80
80
Assert . Null ( dataInfo . VarChar100 ) ;
81
81
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -96,7 +96,7 @@ public void TestInsert()
96
96
} ;
97
97
_repository . Insert ( dataInfo ) ;
98
98
Assert . Equal ( 2 , dataInfo . Id ) ;
99
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
99
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
100
100
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
101
101
Assert . Equal ( "string" , dataInfo . VarChar100 ) ;
102
102
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -115,10 +115,10 @@ public void TestGet()
115
115
{
116
116
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
117
117
118
- var dataInfo = _repository . First ( 1 ) ;
118
+ var dataInfo = _repository . Get ( 1 ) ;
119
119
Assert . NotNull ( dataInfo ) ;
120
120
Assert . Equal ( 1 , dataInfo . Id ) ;
121
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
121
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
122
122
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
123
123
Assert . Null ( dataInfo . VarChar100 ) ;
124
124
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -131,10 +131,10 @@ public void TestGet()
131
131
_output . WriteLine ( dataInfo . Guid ) ;
132
132
_output . WriteLine ( dataInfo . LastModifiedDate . ToString ( ) ) ;
133
133
134
- dataInfo = _repository . First ( 2 ) ;
134
+ dataInfo = _repository . Get ( 2 ) ;
135
135
Assert . NotNull ( dataInfo ) ;
136
136
Assert . Equal ( 2 , dataInfo . Id ) ;
137
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
137
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
138
138
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
139
139
Assert . Equal ( "string" , dataInfo . VarChar100 ) ;
140
140
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -149,10 +149,10 @@ public void TestGetWithParameters()
149
149
{
150
150
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
151
151
152
- var dataInfo = _repository . First ( new Query ( ) . Where ( Attr . VarChar100 , "string" ) ) ;
152
+ var dataInfo = _repository . Get ( new Query ( ) . Where ( Attr . VarChar100 , "string" ) ) ;
153
153
Assert . NotNull ( dataInfo ) ;
154
154
Assert . Equal ( 2 , dataInfo . Id ) ;
155
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
155
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
156
156
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
157
157
Assert . Equal ( "string" , dataInfo . VarChar100 ) ;
158
158
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -161,10 +161,10 @@ public void TestGetWithParameters()
161
161
Assert . Equal ( 0 , dataInfo . Currency ) ;
162
162
Assert . True ( dataInfo . Date . HasValue ) ;
163
163
164
- dataInfo = _repository . First ( dataInfo . Guid ) ;
164
+ dataInfo = _repository . Get ( dataInfo . Guid ) ;
165
165
Assert . NotNull ( dataInfo ) ;
166
166
Assert . Equal ( 2 , dataInfo . Id ) ;
167
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
167
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
168
168
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
169
169
Assert . Equal ( "string" , dataInfo . VarChar100 ) ;
170
170
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -173,10 +173,10 @@ public void TestGetWithParameters()
173
173
Assert . Equal ( 0 , dataInfo . Currency ) ;
174
174
Assert . True ( dataInfo . Date . HasValue ) ;
175
175
176
- dataInfo = _repository . First ( dataInfo . Guid ) ;
176
+ dataInfo = _repository . Get ( dataInfo . Guid ) ;
177
177
Assert . NotNull ( dataInfo ) ;
178
178
Assert . Equal ( 2 , dataInfo . Id ) ;
179
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
179
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
180
180
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
181
181
Assert . Equal ( "string" , dataInfo . VarChar100 ) ;
182
182
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -185,10 +185,10 @@ public void TestGetWithParameters()
185
185
Assert . Equal ( 0 , dataInfo . Currency ) ;
186
186
Assert . True ( dataInfo . Date . HasValue ) ;
187
187
188
- dataInfo = _repository . First ( new Query ( ) . Where ( Attr . VarChar100 , "not exists" ) ) ;
188
+ dataInfo = _repository . Get ( new Query ( ) . Where ( Attr . VarChar100 , "not exists" ) ) ;
189
189
Assert . Null ( dataInfo ) ;
190
190
191
- dataInfo = _repository . First ( new Query ( ) ) ;
191
+ dataInfo = _repository . Get ( new Query ( ) ) ;
192
192
Assert . NotNull ( dataInfo ) ;
193
193
}
194
194
@@ -225,39 +225,39 @@ public void TestGetValue()
225
225
{
226
226
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
227
227
228
- var guid = _repository . GetValue < string > ( new Query ( )
229
- . Select ( nameof ( DynamicEntity . Guid ) ) . Where ( "Id" , 1 ) ) ;
230
- Assert . True ( DatoryUtils . IsGuid ( guid ) ) ;
228
+ var guid = _repository . Get < string > ( new Query ( )
229
+ . Select ( nameof ( Entity . Guid ) ) . Where ( "Id" , 1 ) ) ;
230
+ Assert . True ( ConvertUtils . IsGuid ( guid ) ) ;
231
231
232
- var date = _repository . GetValue < DateTime ? > ( new Query ( )
232
+ var date = _repository . Get < DateTime ? > ( new Query ( )
233
233
. Select ( nameof ( TestTableInfo . Date ) ) . Where ( "Guid" , guid ) ) ;
234
234
Assert . False ( date . HasValue ) ;
235
235
236
- var lastModifiedDate = _repository . GetValue < DateTime ? > ( new Query ( )
236
+ var lastModifiedDate = _repository . Get < DateTime ? > ( new Query ( )
237
237
. Select ( nameof ( TestTableInfo . LastModifiedDate ) )
238
238
. Where ( "Guid" , guid ) ) ;
239
239
Assert . True ( lastModifiedDate . HasValue ) ;
240
- _output . WriteLine ( lastModifiedDate . Value . ToString ( ) ) ;
240
+ _output . WriteLine ( lastModifiedDate . Value . ToString ( CultureInfo . InvariantCulture ) ) ;
241
241
}
242
242
243
243
[ SkippableFact , TestPriority ( 2 ) ]
244
244
public void TestGetValues ( )
245
245
{
246
246
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
247
247
248
- var guidList = _repository . GetValueList < string > ( new Query ( )
248
+ var guidList = _repository . GetAll < string > ( new Query ( )
249
249
. Select ( nameof ( TestTableInfo . Guid ) )
250
250
. Where ( "Id" , 1 ) ) . ToList ( ) ;
251
251
252
252
Assert . NotNull ( guidList ) ;
253
- Assert . True ( DatoryUtils . IsGuid ( guidList . First ( ) ) ) ;
253
+ Assert . True ( ConvertUtils . IsGuid ( guidList . First ( ) ) ) ;
254
254
255
- var dateList = _repository . GetValueList < DateTime ? > ( new Query ( )
255
+ var dateList = _repository . GetAll < DateTime ? > ( new Query ( )
256
256
. Select ( nameof ( TestTableInfo . Date ) )
257
257
. Where ( "Guid" , guidList . First ( ) ) ) . ToList ( ) ;
258
258
Assert . False ( dateList . First ( ) . HasValue ) ;
259
259
260
- var lastModifiedDateList = _repository . GetValueList < DateTime ? > ( new Query ( )
260
+ var lastModifiedDateList = _repository . GetAll < DateTime ? > ( new Query ( )
261
261
. Select ( nameof ( TestTableInfo . LastModifiedDate ) )
262
262
. Where ( "Id" , 1 ) ) . ToList ( ) ;
263
263
Assert . True ( lastModifiedDateList . First ( ) . HasValue ) ;
@@ -282,18 +282,18 @@ public void TestUpdate()
282
282
{
283
283
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
284
284
285
- var dataInfo = _repository . First ( 1 ) ;
285
+ var dataInfo = _repository . Get ( 1 ) ;
286
286
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
287
287
var lastModified = dataInfo . LastModifiedDate . Value . Ticks ;
288
288
289
289
dataInfo . Content = "new content" ;
290
290
dataInfo . LastModifiedDate = DateTime . Now . AddDays ( - 1 ) ;
291
291
292
- var updated = _repository . UpdateObject ( dataInfo ) ;
292
+ var updated = _repository . Update ( dataInfo ) ;
293
293
Assert . True ( updated ) ;
294
294
295
295
Assert . Equal ( 1 , dataInfo . Id ) ;
296
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
296
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
297
297
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
298
298
Assert . Null ( dataInfo . VarChar100 ) ;
299
299
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -308,7 +308,7 @@ public void TestUpdate()
308
308
_output . WriteLine ( lastModified2 . ToString ( ) ) ;
309
309
Assert . True ( lastModified2 > lastModified ) ;
310
310
311
- updated = _repository . UpdateObject ( null ) ;
311
+ updated = _repository . Update ( ( TestTableInfo ) null ) ;
312
312
Assert . False ( updated ) ;
313
313
}
314
314
@@ -317,22 +317,22 @@ public void TestUpdateWithParameters()
317
317
{
318
318
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
319
319
320
- var lastModified = _repository . GetValue < DateTime ? > ( new Query ( )
321
- . Select ( nameof ( DynamicEntity . LastModifiedDate ) ) . Where ( "Id" , 1 ) ) ;
320
+ var lastModified = _repository . Get < DateTime ? > ( new Query ( )
321
+ . Select ( nameof ( Entity . LastModifiedDate ) ) . Where ( "Id" , 1 ) ) ;
322
322
Assert . True ( lastModified . HasValue ) ;
323
323
324
- var updated = _repository . UpdateAll ( new Query ( )
324
+ var updated = _repository . Update ( new Query ( )
325
325
. Set ( "Content" , "new content2" )
326
326
. Set ( "LastModifiedDate" , DateTime . Now . AddDays ( - 1 ) )
327
327
. Where ( nameof ( Attr . Id ) , 1 ) ) ;
328
328
Assert . True ( updated == 1 ) ;
329
329
330
- var dataInfo = _repository . First ( 1 ) ;
330
+ var dataInfo = _repository . Get ( 1 ) ;
331
331
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
332
332
var lastModified2 = dataInfo . LastModifiedDate . Value . Ticks ;
333
333
334
334
Assert . Equal ( 1 , dataInfo . Id ) ;
335
- Assert . True ( DatoryUtils . IsGuid ( dataInfo . Guid ) ) ;
335
+ Assert . True ( ConvertUtils . IsGuid ( dataInfo . Guid ) ) ;
336
336
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
337
337
Assert . Null ( dataInfo . VarChar100 ) ;
338
338
Assert . Null ( dataInfo . VarCharDefault ) ;
@@ -344,7 +344,7 @@ public void TestUpdateWithParameters()
344
344
345
345
Assert . True ( lastModified2 > lastModified . Value . Ticks ) ;
346
346
347
- updated = _repository . UpdateAll ( new Query ( ) ) ;
347
+ updated = _repository . Update ( new Query ( ) ) ;
348
348
Assert . True ( updated == 2 ) ;
349
349
}
350
350
@@ -353,52 +353,49 @@ public void TestUpdateAll()
353
353
{
354
354
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
355
355
356
- var lastModified = _repository . GetValue < DateTime ? > ( new Query ( )
357
- . Select ( nameof ( DynamicEntity . LastModifiedDate ) )
356
+ var lastModified = _repository . Get < DateTime ? > ( new Query ( )
357
+ . Select ( nameof ( Entity . LastModifiedDate ) )
358
358
. Where ( "Id" , 1 ) ) ;
359
359
Assert . True ( lastModified . HasValue ) ;
360
360
361
- var updatedCount = _repository . UpdateAll ( new Query ( )
361
+ var updatedCount = _repository . Update ( new Query ( )
362
362
. Set ( "Content" , "new content2" )
363
363
. Set ( "LastModifiedDate" , DateTime . Now . AddDays ( - 1 ) )
364
364
. Where ( "Id" , 1 ) ) ;
365
365
366
366
Assert . True ( updatedCount == 1 ) ;
367
367
368
- updatedCount = _repository . UpdateAll ( new Query ( )
368
+ updatedCount = _repository . Update ( new Query ( )
369
369
. Set ( "Content" , "new content3" )
370
370
. Where ( "Content" , "new content2" ) ) ;
371
371
372
372
Assert . True ( updatedCount == 1 ) ;
373
373
374
- var dataInfo = _repository . First ( 1 ) ;
374
+ var dataInfo = _repository . Get ( 1 ) ;
375
375
Assert . True ( dataInfo . LastModifiedDate . HasValue ) ;
376
376
var lastModified2 = dataInfo . LastModifiedDate . Value . Ticks ;
377
377
378
378
Assert . True ( lastModified2 > lastModified . Value . Ticks ) ;
379
-
380
- updatedCount = _repository . UpdateAll ( null ) ;
381
- Assert . True ( updatedCount == 2 ) ;
382
379
}
383
380
384
381
[ SkippableFact , TestPriority ( 3 ) ]
385
382
public void TestIncrementAll ( )
386
383
{
387
384
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
388
385
389
- var dataInfo = _repository . First ( 1 ) ;
386
+ var dataInfo = _repository . Get ( 1 ) ;
390
387
Assert . Equal ( 0 , dataInfo . Num ) ;
391
388
392
- var affected = _repository . IncrementAll ( Attr . Num , new Query ( ) . Where ( Attr . Id , 1 ) ) ;
389
+ var affected = _repository . Increment ( new Query ( ) . Select ( Attr . Num ) . Where ( Attr . Id , 1 ) ) ;
393
390
Assert . True ( affected == 1 ) ;
394
391
395
- dataInfo = _repository . First ( 1 ) ;
392
+ dataInfo = _repository . Get ( 1 ) ;
396
393
Assert . Equal ( 1 , dataInfo . Num ) ;
397
394
398
- affected = _repository . DecrementAll ( Attr . Num , new Query ( ) . Where ( Attr . Id , 1 ) ) ;
395
+ affected = _repository . Decrement ( new Query ( ) . Select ( Attr . Num ) . Where ( Attr . Id , 1 ) ) ;
399
396
Assert . True ( affected == 1 ) ;
400
397
401
- dataInfo = _repository . First ( 1 ) ;
398
+ dataInfo = _repository . Get ( 1 ) ;
402
399
Assert . Equal ( 0 , dataInfo . Num ) ;
403
400
}
404
401
@@ -419,7 +416,7 @@ public void End()
419
416
{
420
417
Skip . IfNot ( EnvUtils . IntegrationTestMachine ) ;
421
418
422
- DatorySql . DropTable ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , _repository . TableName ) ;
419
+ DatoryUtils . DropTable ( EnvUtils . DatabaseType , EnvUtils . ConnectionString , _repository . TableName ) ;
423
420
}
424
421
}
425
422
}
0 commit comments