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)); }
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)); }
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")); }
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)); }
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")); }
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)); }