Beispiel #1
0
        public void ShouldCorrectlyReportSize()
        {
            ICollection <MarketSnapshot> snapshots = new List <MarketSnapshot>();

            Buffer = CreateBuffer(2);
            Assert.AreEqual(0, Buffer.Size());
            Assert.True(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());

            Buffer.Offer(BpSnapshot);
            Assert.AreEqual(1, Buffer.Size());
            Assert.False(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());

            Buffer.Offer(VodSnapshot1.GetInstrumentId(), VodSnapshot1);
            Assert.AreEqual(2, Buffer.Size());
            Assert.False(Buffer.IsEmpty());
            Assert.True(Buffer.IsFull());

            Buffer.Poll(snapshots, 1);
            Assert.AreEqual(1, Buffer.Size());
            Assert.False(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());

            Buffer.Poll(snapshots, 1);
            Assert.AreEqual(0, Buffer.Size());
            Assert.True(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());
        }
        public void ShouldCorrectlyReportSize()
        {
            ICollection<MarketSnapshot> snapshots = new List<MarketSnapshot>();

            Buffer = CreateBuffer(2);
            Assert.AreEqual(0, Buffer.Size());
            Assert.True(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());

            Buffer.Offer(BpSnapshot);
            Assert.AreEqual(1, Buffer.Size());
            Assert.False(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());

            Buffer.Offer(VodSnapshot1.GetInstrumentId(), VodSnapshot1);
            Assert.AreEqual(2, Buffer.Size());
            Assert.False(Buffer.IsEmpty());
            Assert.True(Buffer.IsFull());

            Buffer.Poll(snapshots, 1);
            Assert.AreEqual(1, Buffer.Size());
            Assert.False(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());

            Buffer.Poll(snapshots, 1);
            Assert.AreEqual(0, Buffer.Size());
            Assert.True(Buffer.IsEmpty());
            Assert.False(Buffer.IsFull());
        }
Beispiel #3
0
        public void ShouldAcceptNewCollapsibleValueWhenFull()
        {
            Buffer = CreateBuffer(2);
            Buffer.Offer(1L, BpSnapshot);
            Buffer.Offer(2L, BpSnapshot);

            Assert.True(Buffer.Offer(2L, BpSnapshot));
            Assert.AreEqual(2, Buffer.Size());
        }
Beispiel #4
0
        public void ShouldRejectNewCollapsibleValueWhenFull()
        {
            Buffer = CreateBuffer(2);
            Buffer.Offer(1L, BpSnapshot);
            Buffer.Offer(2L, VodSnapshot1);

            Assert.False(Buffer.Offer(4L, VodSnapshot2));
            Assert.AreEqual(2, Buffer.Size());
        }
Beispiel #5
0
        public void ShouldRejectNonCollapsibleValueWhenFull()
        {
            Buffer = CreateBuffer(2);
            Buffer.Offer(BpSnapshot);
            Buffer.Offer(BpSnapshot);

            Assert.False(Buffer.Offer(BpSnapshot));
            Assert.AreEqual(2, Buffer.Size());
        }
        public void ShouldAcceptNewCollapsibleValueWhenFull()
        {
            Buffer = CreateBuffer(2);
            Buffer.Offer(1L, BpSnapshot);
            Buffer.Offer(2L, BpSnapshot);

            Assert.True(Buffer.Offer(2L, BpSnapshot));
            Assert.AreEqual(2, Buffer.Size());
        }
            private void Put(long key, long bid, long ask)
            {
                var success = _snapshotBuffer.Offer(key, MarketSnapshot.CreateMarketSnapshot(key, bid, ask));

                if (!success)
                {
                    throw new Exception("adding of key " + key + " failed");
                }
            }
Beispiel #8
0
        private void Put(long id, MarketSnapshot snapshot)
        {
            bool success = _buffer.Offer(id, snapshot);

            if (!success)
            {
                throw new Exception("failed to add instrument id " + snapshot.GetInstrumentId());
            }
        }
Beispiel #9
0
        private void CheckCapacity(int capacity, ICoalescingBuffer <long, MarketSnapshot> buffer)
        {
            Assert.AreEqual(capacity, buffer.Capacity());

            for (int i = 0; i < capacity; i++)
            {
                bool success = buffer.Offer(MarketSnapshot.CreateMarketSnapshot(i, i, i));
                Assert.True(success);
            }
        }
Beispiel #10
0
 private void AddCollapsibleValue(MarketSnapshot snapshot)
 {
     Assert.True(Buffer.Offer(snapshot.GetInstrumentId(), snapshot));
 }
        private void CheckCapacity(int capacity, ICoalescingBuffer<long, MarketSnapshot> buffer)
        {
            Assert.AreEqual(capacity, buffer.Capacity());

            for (int i = 0; i < capacity; i++)
            {
                bool success = buffer.Offer(MarketSnapshot.CreateMarketSnapshot(i, i, i));
                Assert.True(success);
            }
        }
        public void ShouldRejectNonCollapsibleValueWhenFull()
        {
            Buffer = CreateBuffer(2);
            Buffer.Offer(BpSnapshot);
            Buffer.Offer(BpSnapshot);

            Assert.False(Buffer.Offer(BpSnapshot));
            Assert.AreEqual(2, Buffer.Size());
        }
        public void ShouldRejectNewCollapsibleValueWhenFull()
        {
            Buffer = CreateBuffer(2);
            Buffer.Offer(1L, BpSnapshot);
            Buffer.Offer(2L, VodSnapshot1);

            Assert.False(Buffer.Offer(4L, VodSnapshot2));
            Assert.AreEqual(2, Buffer.Size());
        }