public void HexToBufferConvertTest(int count) { var expectedBuffer = new byte[count]; new Random(count).NextBytes(expectedBuffer); var expectedHexString = BitConverter.ToString(expectedBuffer).Replace("-", "").ToLowerInvariant(); var expectedHexBuffer = expectedHexString.ToCharArray(); // hex string -> buffer var buffer = HexConvert.ToBytes(expectedHexString, 0, expectedHexString.Length); Assert.Equal(expectedBuffer, buffer); // hex buffer -> buffer buffer = HexConvert.ToBytes(expectedHexBuffer, 0, expectedHexBuffer.Length); Assert.Equal(expectedBuffer, buffer); // hex buffer -> buffer (copy) buffer = new byte[expectedBuffer.Length]; HexConvert.Decode(new ArraySegment <char>(expectedHexBuffer, 0, expectedHexBuffer.Length), new ArraySegment <byte>(buffer)); Assert.Equal(expectedBuffer, buffer); // hex buffer -> buffer (copy) buffer = new byte[expectedBuffer.Length]; HexConvert.Decode(expectedHexString, 0, expectedHexBuffer.Length, new ArraySegment <byte>(buffer)); Assert.Equal(expectedBuffer, buffer); }
public void ToBytesByteArrayPartialTest() { var baseNCharBytes = "999c99".ToCharArray().Select(ch => (byte)ch).ToArray(); var expected = new byte[] { 156 }; var actual = HexConvert.ToBytes(baseNCharBytes, 2, baseNCharBytes.Length - 4); Assert.Equal(expected, actual); }
public void ToByteStringTest() { var baseNString = "9c"; var expected = new byte[] { 156 }; var actual = HexConvert.ToBytes(baseNString); Assert.Equal(expected, actual); }
public void ToBytesByteArrayTest() { var baseNCharBytes = "9c".ToCharArray().Select(ch => (byte)ch).ToArray(); var expected = new byte[] { 156 }; var actual = HexConvert.ToBytes(baseNCharBytes); Assert.Equal(expected, actual); }
public void ToBytesCharArrayPartialTest() { var baseNChars = "999c99".ToCharArray(); var expected = new byte[] { 156 }; var actual = HexConvert.ToBytes(baseNChars, 2, baseNChars.Length - 4); Assert.Equal(expected, actual); }
public void ToBytesCharArrayTest() { var baseNChars = "9c".ToCharArray(); var expected = new byte[] { 156 }; var actual = HexConvert.ToBytes(baseNChars); Assert.Equal(expected, actual); }
public void ToBytesStringPartialTest() { var baseNString = "999c99"; var expected = new byte[] { 156 }; var actual = HexConvert.ToBytes(baseNString, 2, baseNString.Length - 4); Assert.Equal(expected, actual); }
public void HexConvert_FromBytes_ToBytes_GoodResult() { //Arrange var hash = Hash.ComputeSha256(new byte[0]); var hashstring = HexConvert.FromBytes(hash); var str = hashstring; //Act //Assert Assert.AreEqual(hash, HexConvert.ToBytes(str)); }
private void ButtonToPay_Click(object sender, RoutedEventArgs e) { if (int.Parse(TextBoxAmountAct.Text) > Amount) { MessageBox.Show("Error!", "You haven't avaliable ACT for makking transaction.", MessageBoxButton.OK, MessageBoxImage.Error); return; } var recipientUserHash = HexConvert.ToBytes(TextBoxRecipientId.Text); var inEntry = new InEntry() { PublicKey = _userCoinPocket.KeyPair.PublicKey, Amount = Amount }; var outEntry = new List <OutEntry>(15) { new OutEntry() { RecipientHash = recipientUserHash, Value = int.Parse(TextBoxAmountAct.Text) }, new OutEntry() { RecipientHash = _userCoinPocket.KeyPair.PublicKey, Value = Amount - int.Parse(TextBoxAmountAct.Text) } }; var transaction = new Transaction() { Id = DataManager.UploadBlockchainDictionary().Last().Value.Transaction.Id + 1, InEntries = new List <InEntry>() { inEntry }, OutEntries = outEntry, Signature = EccService.Sign(_userCoinPocket.KeyPair.PublicKey, _userCoinPocket.KeyPair.PrivateKey, _userCoinPocket.KeyPair.PublicKey), Timestamp = DateTime.Now }; var message = BlockchainUtil.SerializeTransaction(transaction); var senderUdpClient = new UdpClient(_userCoinPocket.ReceivePort); try { senderUdpClient.Send( message, message.Length, "127.0.0.1", 9999); } catch { throw new Exception(); } finally { senderUdpClient.Close(); } var receiver = new UdpClient(_userCoinPocket.ReceivePort); IPEndPoint remoteIp = null; var data = receiver.Receive(ref remoteIp); var chain = MessagePackSerializer.Deserialize <KeyValuePair <string, Block> >(data); var json = JsonConvert.SerializeObject(chain, Formatting.Indented); GroupBoxStatus.Header = "You trancsaction has been added"; var blockchain = DataManager.UploadBlockchainDictionary(); TextBlockAct.Text = Executor .GetCashRec(blockchain, _userCoinPocket.KeyPair.PublicKey, blockchain.Last().Key).ToString(); TextBlockStatus.Text = json; receiver.Close(); }