public void should_construct_transaction() { // arrange var trx = "010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff5f038b5c0904e614245e2f706f6f6c696e2e636f6d2ffabe6d6d29ad483008e6afa933b7248433f8dccc7fe02301022e4a3271eaf3bd3210f3160100000000000000c10db97992756fa5c7fb1a07acf5a834104995aa2f008ab8000000000000ffffffff04e25f2b4b000000001976a914e0ad60c897901128662623c500a4a6079e99cd3e88ac0000000000000000266a24b9e11b6dcffd93e719c6cbccf1b271ba8e2920c2a3a9fa8b1aabca5fef2a7fc282ce898f0000000000000000266a24aa21a9eda8657fc67746fd56ac874234c52b766fb63ab9b090d5281a5c602d3dfd9ddef900000000000000002b6a2952534b424c4f434b3ac2e0675c8a11c2290b5e471ed155dde2048c83d2e00b4304ca5a7c21001f3b3e012000000000000000000000000000000000000000000000000000000000000000002fa1d41e"; var trxbytes = new HexReader().ToByteArray(trx); var loggedBinaryReader = new LoggedBinaryReader(new MemoryStream(trxbytes)); // act var realTransaction = new BitcoinReader(new HexReader()).ReadTransaction(loggedBinaryReader); // assert }
public void should_parse_pizza_transaction() { // arrange var pizzaPath = "data/pizza_transaction_hex.txt"; var loggedBinaryReader = LoggedBinaryReader.FromAsciiFile(pizzaPath); // act var transaction = _bitcoinReader.ReadTransaction(loggedBinaryReader); // assert var trxHash = BitConverter.ToString(transaction.TrxId); Assert.AreEqual("a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d", trxHash); }
public void should_store_when_data() { // arrange var data = new byte[] { 1, 2, 3 }; var binaryReader = new LoggedBinaryReader(new MemoryStream(data)); // act var res = binaryReader.ReadBytes(3); var readData = res.AsSpan(); // assert Assert.AreEqual(3, res.Length); Assert.AreEqual(1, res[0]); Assert.AreEqual(2, res[1]); Assert.AreEqual(3, res[2]); Assert.AreEqual(1, readData[0]); Assert.AreEqual(2, readData[1]); Assert.AreEqual(3, readData[2]); }
public void should_store_with_stream() { // arrange var data = new byte[] { 1, 2, 3 }; var memoryStream = new MemoryStream(data); var binaryReader = new BinaryReader(memoryStream); var transactionBinaryReader = new LoggedBinaryReader(memoryStream); // act var one = binaryReader.ReadByte(); var two = transactionBinaryReader.ReadByte(); var otherTwo = transactionBinaryReader.AsSpan()[0]; transactionBinaryReader.Reset(); var three = transactionBinaryReader.ReadByte(); var otherThree = transactionBinaryReader.AsSpan()[0]; // assert Assert.AreEqual(1, one); Assert.AreEqual(2, two); Assert.AreEqual(2, otherTwo); Assert.AreEqual(3, three); Assert.AreEqual(3, otherThree); }