Ejemplo n.º 1
0
        public void BondBinarySerializer_Pocco()
        {
            // arrange
            var serializer = new BondCompactBinaryCacheSerializer();
            var item       = SerializerPoccoSerializable.Create();

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

            result.ShouldBeEquivalentTo(item);
        }
Ejemplo n.º 2
0
        public void BondBinarySerializer_DoesNotSupportPrimitives()
        {
            // arrange
            var serializer = new BondCompactBinaryCacheSerializer();

            // act
            var    data = serializer.Serialize("test");
            Action act  = () => serializer.Deserialize(data, typeof(string));

            data.Length.Should().Be(1);
            data[0].Should().Be(0);
            act.ShouldThrow <Exception>("Bond does not support primitives.");
        }
Ejemplo n.º 3
0
        public void BondBinarySerializer_CacheItemWithDerivedPocco()
        {
            // arrange
            var serializer = new BondCompactBinaryCacheSerializer();
            var pocco      = DerivedPocco.CreateDerived();
            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);
            pocco.ShouldBeEquivalentTo(item.Value);
        }
Ejemplo n.º 4
0
        public void BondBinarySerializer_CacheItem_Primitives <T>(T value)
        {
            // arrange
            var serializer = new BondCompactBinaryCacheSerializer();
            var item       = new CacheItem <T>("key", value);

            // act
            var data   = serializer.SerializeCacheItem(item);
            var result = serializer.DeserializeCacheItem <T>(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);
        }
Ejemplo n.º 5
0
        public void BondBinarySerializer_CacheItemOfObject_Primitives <T>(T value)
        {
            // arrange
            var serializer = new BondCompactBinaryCacheSerializer();
            var item       = new CacheItem <object>("key", value);

            // act
            var data = serializer.SerializeCacheItem(item);

            // not using the type defined, expecting the serializer object to store the actualy value type correctly...
            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);
        }