1
+ using Figment . Common ;
1
2
using Figment . Common . Data ;
2
3
using Figment . Data . Memory ;
3
4
@@ -31,10 +32,19 @@ public async Task ThingCrud()
31
32
32
33
var tsp = AmbientStorageContext . StorageProvider . GetThingStorageProvider ( ) ;
33
34
Assert . IsNotNull ( tsp ) ;
35
+
36
+ var allThings = tsp . GetAll ( CancellationToken . None ) . ToBlockingEnumerable ( ) ;
37
+ Assert . IsNotNull ( allThings ) ;
38
+ Assert . AreEqual ( 0 , allThings . Count ( ) ) ;
39
+
34
40
var thing = await tsp . CreateAsync ( csr . NewGuid , nameof ( ThingCrud ) , CancellationToken . None ) ;
35
41
Assert . IsNotNull ( thing ) ;
36
42
Assert . IsTrue ( await tsp . GuidExists ( thing . Guid , CancellationToken . None ) ) ;
37
43
44
+ allThings = tsp . GetAll ( CancellationToken . None ) . ToBlockingEnumerable ( ) ;
45
+ Assert . IsNotNull ( allThings ) ;
46
+ Assert . AreEqual ( 1 , allThings . Count ( ) ) ;
47
+
38
48
// Set
39
49
var tsr = await thing . Set ( "random" , "value" , CancellationToken . None ) ;
40
50
Assert . IsTrue ( tsr . Success ) ;
@@ -45,13 +55,38 @@ public async Task ThingCrud()
45
55
// Clear
46
56
await thing . Set ( "random" , null , CancellationToken . None ) ;
47
57
Assert . AreEqual ( 0 , thing . GetPropertyByName ( "random" , CancellationToken . None ) . ToBlockingEnumerable ( ) . Count ( ) ) ;
48
- props = thing . GetProperties ( CancellationToken . None ) . ToBlockingEnumerable ( ) . ToArray ( ) ;
58
+ props = [ .. thing . GetProperties ( CancellationToken . None ) . ToBlockingEnumerable ( ) ] ;
49
59
Assert . IsFalse ( props . Any ( p => string . CompareOrdinal ( "random" , p . SimpleDisplayName ) == 0 ) ) ;
50
60
51
61
// Still clear after reload
52
62
thing = await tsp . LoadAsync ( thing . Guid , CancellationToken . None ) ;
53
63
Assert . IsNotNull ( thing ) ;
54
64
Assert . IsFalse ( props . Any ( p => string . CompareOrdinal ( "random" , p . SimpleDisplayName ) == 0 ) ) ;
55
65
66
+ var thing2 = await tsp . FindByNameAsync ( nameof ( ThingCrud ) , CancellationToken . None ) ;
67
+ Assert . AreNotEqual ( Reference . EMPTY , thing2 ) ;
68
+ Assert . AreEqual ( thing . Guid , thing2 . Guid ) ;
69
+ Assert . AreEqual ( Reference . ReferenceType . Thing , thing2 . Type ) ;
70
+
71
+ var partialThings = tsp . FindByPartialNameAsync ( csr . NewGuid , nameof ( ThingCrud ) , CancellationToken . None ) . ToBlockingEnumerable ( ) ;
72
+ Assert . IsNotNull ( partialThings ) ;
73
+ Assert . AreEqual ( 1 , partialThings . Count ( ) ) ;
74
+ Assert . AreEqual ( thing . Name , partialThings . First ( ) . name ) ;
75
+ Assert . AreEqual ( thing . Guid , partialThings . First ( ) . reference . Guid ) ;
76
+ Assert . AreEqual ( Reference . ReferenceType . Thing , partialThings . First ( ) . reference . Type ) ;
77
+
78
+ var deleted = await thing . DeleteAsync ( CancellationToken . None ) ;
79
+ Assert . IsTrue ( deleted ) ;
80
+
81
+ allThings = tsp . GetAll ( CancellationToken . None ) . ToBlockingEnumerable ( ) ;
82
+ Assert . IsNotNull ( allThings ) ;
83
+ Assert . AreEqual ( 0 , allThings . Count ( ) ) ;
84
+
85
+ thing2 = await tsp . FindByNameAsync ( nameof ( ThingCrud ) , CancellationToken . None ) ;
86
+ Assert . AreEqual ( Reference . EMPTY , thing2 ) ;
87
+
88
+ partialThings = tsp . FindByPartialNameAsync ( csr . NewGuid , nameof ( ThingCrud ) , CancellationToken . None ) . ToBlockingEnumerable ( ) ;
89
+ Assert . IsNotNull ( partialThings ) ;
90
+ Assert . AreEqual ( 0 , partialThings . Count ( ) ) ;
56
91
}
57
92
}
0 commit comments