@@ -102,16 +102,35 @@ public void When_Getting_SByte_Result_Is_Successful()
102
102
public async Task GetValueOrCreateAsyncTest ( )
103
103
{
104
104
var key = "GetValueOrCreateAsyncTest_" + Guid . NewGuid ( ) ;
105
- await _client . GetValueOrCreateAsync ( key , 10 , ( ) => GenerateValue ( ) ) ;
106
- var cacheValue = await _client . GetValueAsync < string > ( key ) ;
107
- Assert . Equal ( nameof ( GetValueOrCreateAsyncTest ) , cacheValue ) ;
105
+ var posts1 = await _client . GetValueOrCreateAsync (
106
+ key ,
107
+ 10 ,
108
+ async ( ) => await GenerateValue ( ) ) ;
109
+ Assert . NotNull ( posts1 ) ;
110
+
111
+ var posts2 = await _client . GetValueAsync < IEnumerable < BlogPost > > ( key ) ;
112
+ Assert . NotNull ( posts2 ) ;
113
+
114
+ Assert . Equal ( posts1 . First ( ) . Title , posts2 . First ( ) . Title ) ;
108
115
}
109
116
110
- private Task < string > GenerateValue ( )
117
+ private Task < IEnumerable < BlogPost > > GenerateValue ( )
111
118
{
112
- return Task . FromResult ( nameof ( GetValueOrCreateAsyncTest ) ) ;
119
+ var posts = new List < BlogPost > ( )
120
+ {
121
+ new BlogPost { Title = "test title 1" , Body = "test body 1" } ,
122
+ new BlogPost { Title = "test title 2" , Body = "test body 2" }
123
+ } ;
124
+
125
+ return Task . FromResult ( posts . AsEnumerable ( ) ) ;
113
126
}
114
127
}
128
+
129
+ internal class BlogPost
130
+ {
131
+ public string Title { get ; set ; }
132
+ public string Body { get ; set ; }
133
+ }
115
134
}
116
135
117
136
#region [ License information ]
0 commit comments