Esempio n. 1
0
 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);
        }
Esempio n. 4
0
        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]));
Esempio n. 6
0
        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);
        }