public void HitCountMaximumValueIsSignedLongIntegerMax()
        {
            var hitCount = new InternalHitCount();

            hitCount.HitCount = long.MaxValue;
            Assert.AreEqual(long.MaxValue, hitCount.HitCount);

            ++hitCount.HitCount;
            Assert.IsTrue(hitCount.HitCount < 0);
        }
        public void HitCountCanChangeCountToAnyValidValue()
        {
            var hitCount = new InternalHitCount();

            hitCount.HitCount++;
            Assert.AreEqual((ulong)1, hitCount.HitCount);

            hitCount.HitCount = 0;
            Assert.AreEqual((ulong)0, hitCount.HitCount);
        }
 public void SetUp()
 {
     this.stream = new MemoryStream();
     this.streamManager = new RecyclableMemoryStreamManager(1 << 17, 2, 1 << 24);
     this.dimensions = new DimensionSet(new HashSet<Dimension>(new[] {new Dimension(AnyDimension)}));
     this.data = new KeyedDataStore<InternalHitCount>(this.dimensions,
                                                                                 this.streamManager);
     var hitCount = new InternalHitCount();
     hitCount.AddValue(AnyDataValue);
     this.data.AddValue(new DimensionSpecification {{AnyDimension, AnyDimensionValue}}, AnyDataValue);
     this.data.Merge();
 }
        public unsafe void HitCountCanReadPersistedData()
        {
            const ulong anyHitCount   = 42;
            var         hitCount      = new InternalHitCount();
            var         hitCountBytes = BitConverter.GetBytes(anyHitCount);

            fixed(byte *buf = hitCountBytes)
            {
                hitCount.ReadFromPersistedData(buf, sizeof(long), false);
            }

            Assert.AreEqual(anyHitCount, hitCount.HitCount);
        }
        public void HitCountCanWritePersistedData()
        {
            using (var ms = new MemoryStream())
            {
                const long anyHitCount = 42;
                var        hitCount    = new InternalHitCount {
                    HitCount = anyHitCount
                };
                hitCount.WriteToPersistedData(ms);

                Assert.AreEqual(anyHitCount, BitConverter.ToUInt64(ms.GetBuffer(), 0));
            }
        }
        public void SetUp()
        {
            this.stream        = new MemoryStream();
            this.streamManager = new RecyclableMemoryStreamManager(1 << 17, 2, 1 << 24);
            this.dimensions    = new DimensionSet(new HashSet <Dimension>(new[] { new Dimension(AnyDimension) }));
            this.data          = new KeyedDataStore <InternalHitCount>(this.dimensions,
                                                                       this.streamManager);
            var hitCount = new InternalHitCount();

            hitCount.AddValue(AnyDataValue);
            this.data.AddValue(new DimensionSpecification {
                { AnyDimension, AnyDimensionValue }
            }, AnyDataValue);
            this.data.Merge();
        }
        public unsafe void HitCountReadAddsToCurrentValue()
        {
            const ulong anyHitCount = 42;
            var         hitCount    = new InternalHitCount();

            hitCount.AddValue(37);
            var hitCountBytes = BitConverter.GetBytes(anyHitCount);

            fixed(byte *buf = hitCountBytes)
            {
                hitCount.ReadFromPersistedData(buf, sizeof(ulong), false);
            }

            Assert.AreEqual(anyHitCount + 37, hitCount.HitCount);
        }
        public void HitCountCountTypeIsSignedLongInteger()
        {
            var hitCount = new InternalHitCount();

            Assert.AreEqual(typeof(long), hitCount.HitCount.GetType());
        }
        public void HitCountInitialValueIsZero()
        {
            var hitCount = new InternalHitCount();

            Assert.AreEqual((ulong)0, hitCount.HitCount);
        }