public void CacheNameTest() { Assert.Equal(typeof(StringCache).FullName, CacheTypeResolver.GetCacheName(typeof(StringCache), out var defaultTtl)); Assert.Equal(0, defaultTtl); Assert.Equal("long", CacheTypeResolver.GetCacheName(typeof(Int64Cache), out defaultTtl)); Assert.Equal(10, defaultTtl); }
public void CacheNameTest() { Assert.Equal("NetCache.Tests.TestHelpers.StringCache", CacheTypeResolver.GetCacheName(GetType("NetCache.Tests.TestHelpers.StringCache"), out var defaultTtl)); Assert.Equal(0, defaultTtl); Assert.Equal("long", CacheTypeResolver.GetCacheName(GetType("NetCache.Tests.TestHelpers.Int64Cache"), out defaultTtl)); Assert.Equal(10, defaultTtl); }
public void GenericTest(TypeDefinition type) { var info = CacheTypeResolver.Resolve(type); Assert.Equal(2, info.Methods.Count); Assert.Equal(CacheOperation.Get, info.Methods[0].Operation); Assert.Equal(CacheOperation.Set, info.Methods[1].Operation); }
public void SetTtlTest() { foreach (var m in typeof(TtlClass).GetMethods().Where(m => m.Name == nameof(TtlClass.Set))) { var method = CacheTypeResolver.ResolveSet(m) !; Assert.NotNull(method); Assert.Equal(1, method.Value); Assert.Equal(2, method.Ttl); Assert.Equal(0, method.CancellationToken); } }
public void GetOrSetTtlTest() { var methods = GetType("NetCache.Tests.CacheTypeResolverTest/TtlClass").GetMethods().Where(m => m.Name == "Get").ToArray(); for (var index = 0; index < methods.Length - 1; index++) { var method = CacheTypeResolver.ResolveGet(methods[index]) !; Assert.NotNull(method); Assert.Equal(1, method.Ttl); Assert.Equal(0, method.CancellationToken); } #if NETCOREAPP3_1_OR_GREATER Assert.Null(CacheTypeResolver.ResolveGet(methods[^ 1]));
public void GetOrSetTtlTest() { var methods = typeof(TtlClass).GetMethods().Where(m => m.Name == nameof(TtlClass.Get)).ToArray(); for (var index = 0; index < methods.Length - 1; index++) { var method = CacheTypeResolver.ResolveGet(methods[index]) !; Assert.NotNull(method); Assert.Equal(1, method.Ttl); Assert.Equal(0, method.CancellationToken); } Assert.Null(CacheTypeResolver.ResolveGet(methods[methods.Length - 1])); }
public void TypeTest() { var info = CacheTypeResolver.Resolve(GetType("NetCache.Tests.CacheTypeResolverTest/TypeTestClass")); Assert.Equal("NetCache.Tests.CacheTypeResolverTest/TypeTestClass", info.Name); Assert.Equal(GetType("NetCache.Tests.CacheTypeResolverTest/TypeTestClass"), info.Type); Assert.Equal(4, info.Methods.Count); Assert.Equal(CacheOperation.Get, info.Methods[0].Operation); Assert.Equal(CacheOperation.Set, info.Methods[1].Operation); Assert.Equal(CacheOperation.Remove, info.Methods[2].Operation); Assert.Equal(CacheOperation.Remove, info.Methods[3].Operation); var agg = Assert.Throws <AggregateException>(() => CacheTypeResolver.Resolve(GetType("NetCache.Tests.CacheTypeResolverTest/TypeTestClass2"))); Assert.Single((IEnumerable)agg.InnerExceptions); Assert.Equal("不支持的抽象方法Test", agg.InnerException !.Message); }