public void ReadColumnsSetTest() { const byte separator = BytesSplitReader.Comma; var expecteds = new string[] { "A", "B", "C", "D", "", }; var text = string.Join(((char)separator).ToString(), expecteds); var raw = Encoding.UTF8.GetBytes(text); var columns = new int[expecteds.Length]; for (var column = columns.Length - 1; column >= 0; --column) { columns[column] = column; } var actuals = new BytesColumn[expecteds.Length]; var appends = new Action <byte[], int, int> [expecteds.Length]; for (var i = actuals.Length - 1; i >= 0; --i) { var actual = new BytesColumn(); actuals[i] = actual; appends[i] = actual.AppendLength; } using (var readerStream = new MemoryStream(raw)) using (var reader = new BytesSplitReader(readerStream)) { Assert.IsTrue(reader.ReadColumnsLength(separator, appends), "!ReadColumns"); for (var i = expecteds.Length - 1; i >= 0; --i) { Assert.AreEqual(expecteds[i], actuals[i].ToString(Encoding.UTF8), i.ToString()); } } }
public void Append(BytesColumn append) { appended = true; var appendCount = append.count; var required = count + appendCount; if (required > capacity) { Enlarge(); } Array.Copy(append.values, 0, values, count, appendCount); count += appendCount; }
public void ReadColumnTest() { const byte separator = BytesSplitReader.Comma; var expecteds = new string[] { "A", "B", "C", "D", "", }; var text = string.Join(((char)separator).ToString(), expecteds); var raw = Encoding.UTF8.GetBytes(text); for (var i = expecteds.Length - 1; i >= 0; --i) { var actual = new BytesColumn(); using (var readerStream = new MemoryStream(raw)) using (var reader = new BytesSplitReader(readerStream)) { Assert.IsTrue(reader.ReadColumnsLength(separator, i, actual.AppendLength), "!ReadColumn"); Assert.AreEqual(expecteds[i], actual.ToString(Encoding.UTF8), i.ToString()); } } }
public bool Equals(BytesColumn other) { if (object.ReferenceEquals(other, null)) { return(false); } if (other.count != this.count) { return(false); } for (var offset = count - 1; offset >= 0; --offset) { if (other.values[offset] != this.values[offset]) { return(false); } } return(true); }
public static bool TryParseObjectString(BytesColumn parse, out object value) { return(parse.TryParseObjectString(out value)); }
public static bool TryParseObjectTimeSpan(BytesColumn parse, out object value) { return(parse.TryParseObjectTimeSpan(out value)); }
public static bool TryParseObjectDecimal(BytesColumn parse, out object value) { return(parse.TryParseObjectDecimal(out value)); }