public void Serializer_Deserializes_Correctly()
        {
            var serializer = new JsonCacheSerializer();
            var instance = "{\"Age\":25,\"Birthday\":\"\\/Date(-62132724000000-0600)\\/\",\"Name\":\"Some Name\"}";
            var actual = serializer.Deserialize<SerializeType>(instance);

            Assert.AreEqual(25, actual.Age);
            Assert.AreEqual(new DateTime(1, 2, 3), actual.Birthday);
            Assert.AreEqual("Some Name", actual.Name);
        }
Example #2
0
        public void JsonSerializer_CacheItemWithPocco()
        {
            // arrange
            var serializer = new JsonCacheSerializer();
            var pocco      = SerializerPoccoSerializable.Create();
            var item       = new CacheItem <SerializerPoccoSerializable>("key", "region", pocco, ExpirationMode.Absolute, TimeSpan.FromDays(1));

            // act
            var data   = serializer.SerializeCacheItem(item);
            var result = serializer.DeserializeCacheItem <SerializerPoccoSerializable>(data, pocco.GetType());

            result.ShouldBeEquivalentTo(item);
        }
        private void InitSerializer()
        {
            string type = ConfigManager.Configger.GetFirstOrAddConfig <CacheSection>().SerializerType;

            if (string.Equals(type, "json", StringComparison.OrdinalIgnoreCase))
            {
                Serializer = new JsonCacheSerializer(Encoding.UTF8);
            }
            else
            {
                Serializer = new ProtobufCacheSerializer();
            }
        }
Example #4
0
        public void Init()
        {
            var ser = new JsonCacheSerializer(Encoding.UTF8);

            ConfigManager.GetConfigger <MyDataConfigger>();
            RedisConnectionPool.Initialize(ser);
            DbConnectionProvider.Initialize();
            EntitySchemaSet.InitSchema(typeof(LoginLog), false, MyDataConfigger.DbKeys);
            EntitySchemaSet.LoadAssembly(typeof(SingleData).Assembly);
            var setting = new CacheSetting();

            CacheFactory.Initialize(setting, ser);
            EntitySchemaSet.StartCheckTableTimer();
        }
        public void Serializer_Serializes_Correctly()
        {
            var serializer = new JsonCacheSerializer();
            var instance = new SerializeType
            {
                Age = 25,
                Birthday = new DateTime(1, 2, 3),
                Name = "Some Name",
            };
            var expected = "{\"Age\":25,\"Birthday\":\"\\/Date(-62132724000000-0600)\\/\",\"Name\":\"Some Name\"}";
            var actual = serializer.Serialize(instance);

            Assert.AreEqual(expected, actual);
        }
Example #6
0
        public void JsonSerializer_List()
        {
            // arrange
            var serializer = new JsonCacheSerializer();
            var items      = new List <SerializerPoccoSerializable>()
            {
                SerializerPoccoSerializable.Create(),
                SerializerPoccoSerializable.Create(),
                SerializerPoccoSerializable.Create()
            };

            // act
            var data   = serializer.Serialize(items);
            var result = serializer.Deserialize(data, items.GetType());

            result.ShouldBeEquivalentTo(items);
        }
Example #7
0
        public void JsonSerializer_CacheItemOfObject_Primitives <T>(T value)
        {
            // arrange
            var serializer = new JsonCacheSerializer();
            var item       = new CacheItem <object>("key", value);

            // act
            var data   = serializer.SerializeCacheItem(item);
            var result = serializer.DeserializeCacheItem <object>(data, typeof(T));

            result.Value.Should().Be(value);
            result.ValueType.Should().Be(item.ValueType);
            result.CreatedUtc.Should().Be(item.CreatedUtc);
            result.ExpirationMode.Should().Be(item.ExpirationMode);
            result.ExpirationTimeout.Should().Be(item.ExpirationTimeout);
            result.Key.Should().Be(item.Key);
            result.LastAccessedUtc.Should().Be(item.LastAccessedUtc);
            result.Region.Should().Be(item.Region);
        }
Example #8
0
        public void TestJsonNet()
        {
            var rnd      = new Random();
            var utcNow   = DateTimeOffset.UtcNow;
            var userInfo = new object[]  // EFTableRow -> public object[] Values { get; set; }
            {
                $"User {rnd.Next(1, 100000)}",
                DateTime.UtcNow,
                null,
                1000,
                true,
                1,
                'C',
                utcNow,
                1.1M,
                1.3,
                1.2f,
                Guid.NewGuid(),
                TimeSpan.FromMinutes(1),
                2,
                new byte[] { 1, 2 },
                1,
                1,
                1
            };

            var jss = new JsonSerializerSettings
            {
                NullValueHandling     = NullValueHandling.Ignore,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                TypeNameHandling      = TypeNameHandling.Auto,
                Converters            = { new SpecialTypesConverter() }
            };
            var jcs      = new JsonCacheSerializer(jss, jss); // This is how the CacheManagerCore uses the Json.NET
            var json     = jcs.Serialize(userInfo);
            var userData = jcs.Deserialize(json, typeof(object[])) as object[];

            Assert.IsNotNull(userData);
            Assert.AreEqual(utcNow, userData[7]);
        }
Example #9
0
        public void TestJsonNet()
        {
            var rnd   = new Random();
            var user1 = new User
            {
                Name                = $"User {rnd.Next(1, 100000)}",
                AddDate             = DateTime.UtcNow,
                UpdateDate          = null,
                Points              = 1000,
                IsActive            = true,
                ByteValue           = 1,
                CharValue           = 'C',
                DateTimeOffsetValue = DateTimeOffset.UtcNow,
                DecimalValue        = 1.1M,
                DoubleValue         = 1.3,
                FloatValue          = 1.2f,
                GuidValue           = Guid.NewGuid(),
                TimeSpanValue       = TimeSpan.FromMinutes(1),
                ShortValue          = 2,
                ByteArrayValue      = new byte[] { 1, 2 },
                UintValue           = 1,
                UlongValue          = 1,
                UshortValue         = 1
            };

            var jss = new JsonSerializerSettings
            {
                NullValueHandling     = NullValueHandling.Ignore,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                TypeNameHandling      = TypeNameHandling.Auto,
                Converters            = { new SpecialTypesConverter() }
            };
            var jcs  = new JsonCacheSerializer(jss, jss);
            var json = jcs.Serialize(user1);
            var user = jcs.Deserialize(json, typeof(object));

            Assert.IsNotNull(user);
        }
        public void Serializer_Initailizes_Correctly()
        {
            var serializer = new JsonCacheSerializer();

            Assert.IsNotNull(serializer);
        }