internal void ToTtbCell(OtpOutputStream os) { if (isNull) { os.WriteNil(); return; } if (valueType == ColumnType.Varchar || valueType == ColumnType.Blob) { os.WriteBinary(varcharValue); } else if (valueType == ColumnType.SInt64) { os.WriteLong(sint64Value); } else if (valueType == ColumnType.Timestamp) { os.WriteLong(timestampValue); } else if (valueType == ColumnType.Boolean) { os.WriteBoolean(booleanValue); } else if (valueType == ColumnType.Double) { os.WriteDouble(doubleValue); } else { throw new InvalidOperationException("Could not convert to TTB value."); } }
public void Write_Long(long l, byte[] want) { byte[] got; using (var os = new OtpOutputStream()) { os.WriteByte(OtpExternal.VersionTag); os.WriteLong(l); Assert.AreEqual(want.Length, os.Position); got = os.ToArray(); } CollectionAssert.AreEqual(want, got); }
public void Can_Parse_RpbErrorResp_In_2_Tuple_With_Code() { byte[] b = null; using (var os = new OtpOutputStream()) { os.WriteTupleHead(2); os.WriteAtom(TtbErrorDecoder.RpbErrorRespAtom); os.WriteLong(ErrCode); os.Flush(); b = os.ToArray(); } var ex = Assert.Throws <RiakException>(() => new TsTtbResp(b)); Assert.IsTrue(ex.Message.Contains(ErrCode.ToString())); }