Пример #1
0
        public void WriteSpeed()
        {
            var columns = GetQuoteColumns(new Quote());
            var s       = new Quote
            {
                Timestamp = 12345,
                Bid       = 2.4,
                Ask       = double.MaxValue,
                BidSize   = 0,
                Ex        = "qwerty",
                Mode      = ""
            };
            var serializer = CreateWriter(columns);

            // Act.
            var rdrCntx = TestTxLog.TestContext();
            var timer   = new Stopwatch();

            timer.Start();

            for (int i = 0; i < 1E7; i++)
            {
                serializer.Write(s, 0, rdrCntx);
            }
            timer.Stop();
            Console.WriteLine(timer.Elapsed);
            Assert.That(timer.Elapsed.Seconds, Is.LessThanOrEqualTo(1));
        }
Пример #2
0
        public void Add_distinct_values_only_to_symbo_file(string firstValueSet, string repeatedVals)
        {
            var tx  = TestTxLog.TestContext();
            var sym = CreateSymbolColumn(tx);

            int rowId      = 0;
            int writeCount = 0;

            // Prepare.
            _symrr.Setup(s => s.WriteInt64(It.IsAny <long>(), It.IsAny <long>()))
            .Callback((long a, long b) => writeCount++);

            foreach (string val in firstValueSet.Split('|'))
            {
                sym.SetValue(rowId++, val, tx);
            }
            _symbolCatch.Reset();

            // Act.
            foreach (string val in repeatedVals.Split('|'))
            {
                sym.SetValue(rowId++, val, tx);
            }

            // Verify.
            _symrr.Verify(s => s.WriteInt64(It.IsAny <long>(), It.IsAny <long>()),
                          Times.Exactly(writeCount));
        }
Пример #3
0
        public void Ucommited_values_are_not_visible()
        {
            var       tx1 = TestTxLog.TestContext();
            var       id  = CreateIndex(1000 * 16, tx1);
            const int key = 71;

            id.Add(key, 0, tx1);
            Commit(tx1, 1);
            var result1 = string.Join("|", id.GetValues(key, tx1).OrderBy(i => i)
                                      .Select(i => i.ToString(CultureInfo.InvariantCulture)));

            Assert.That(result1, Is.EqualTo("0"));

            // Act.
            var pd   = DeepClone(tx1);
            var vals = Enumerable.Range(1, 10).Select(i => (long)i);

            foreach (var val in vals)
            {
                id.Add(key, val, pd);
            }

            // Verify.
            var result = string.Join("|", id.GetValues(key, pd).OrderBy(i => i)
                                     .Select(i => i.ToString(CultureInfo.InvariantCulture)));

            Assert.That(result, Is.EqualTo("0"));
        }
Пример #4
0
        public void ShouldWriteToString(string value, int maxLen)
        {
            var stringCol   = CreateStringColumn(maxLen);
            var readContext = TestTxLog.TestContext();

            stringCol.SetValue(0, value, readContext);

            Assert.That(stringCol.GetValue(0, readContext.ReadCache), Is.EqualTo(value));
        }
Пример #5
0
        public void Appends_record()
        {
            var tx  = TestTxLog.TestContext();
            var sym = CreateSymbolColumn(tx);

            // Act.
            sym.SetValue(0, "First Value", tx);
            _symbolCatch.Reset();

            // Verify.
            var result = sym.GetValue(0, tx.ReadCache);

            Assert.That(result, Is.EqualTo("First Value"));
        }
Пример #6
0
        public void Appends_value()
        {
            var       tx  = TestTxLog.TestContext();
            var       id  = CreateIndex(1000 * 16, tx);
            const int key = 53;

            // Act.
            var vals = Enumerable.Range(0, 1000).Select(i => (long)i);

            foreach (var val in vals)
            {
                id.Add(key, val, tx);
            }

            // Verify.
            var expected = string.Join("|",
                                       vals.Select(i => i.ToString(CultureInfo.InvariantCulture)));

            var result = string.Join("|", id.GetValues(key, tx).OrderBy(i => i)
                                     .Select(i => i.ToString(CultureInfo.InvariantCulture)));

            Assert.That(result, Is.EqualTo(expected));
        }