|
5 | 5 | import com.algorand.algosdk.mnemonic.Mnemonic; |
6 | 6 | import com.algorand.algosdk.util.Encoder; |
7 | 7 | import com.algorand.algosdk.util.TestUtil; |
| 8 | +import com.fasterxml.jackson.annotation.JsonCreator; |
| 9 | +import com.fasterxml.jackson.annotation.JsonProperty; |
| 10 | +import com.fasterxml.jackson.databind.ObjectMapper; |
| 11 | +import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
8 | 12 | import org.junit.jupiter.api.Test; |
9 | 13 |
|
10 | 14 | import java.io.*; |
11 | 15 | import java.math.BigInteger; |
12 | 16 | import java.nio.charset.StandardCharsets; |
13 | 17 | import java.security.NoSuchAlgorithmException; |
14 | 18 | import java.util.Arrays; |
| 19 | +import java.util.Objects; |
15 | 20 |
|
16 | 21 | import static org.assertj.core.api.Assertions.*; |
17 | 22 |
|
@@ -65,6 +70,46 @@ public void testSerialization() throws Exception { |
65 | 70 | assertEqual(o, tx); |
66 | 71 | } |
67 | 72 |
|
| 73 | + @Test |
| 74 | + public void testPaymentTransactionJsonSerialization() throws Exception { |
| 75 | + Address from = new Address("VKM6KSCTDHEM6KGEAMSYCNEGIPFJMHDSEMIRAQLK76CJDIRMMDHKAIRMFQ"); |
| 76 | + Address to = new Address("CQW2QBBUW5AGFDXMURQBRJN2AM3OHHQWXXI4PEJXRCVTEJ3E5VBTNRTEAE"); |
| 77 | + Transaction tx = Transaction.PaymentTransactionBuilder() |
| 78 | + .sender(from) |
| 79 | + .receiver(to) |
| 80 | + .amount(100) |
| 81 | + .firstValid(301) |
| 82 | + .lastValid(1300) |
| 83 | + .genesisHash(new Digest()) |
| 84 | + .build(); |
| 85 | + |
| 86 | + ObjectMapper objectMapper = new ObjectMapper(); |
| 87 | + String transactionJson = objectMapper.writeValueAsString(tx); |
| 88 | + final Transaction transaction = objectMapper.readValue(transactionJson, Transaction.class); |
| 89 | + assertEqual(tx, transaction); |
| 90 | + String transactionJson1 = objectMapper.writeValueAsString(transaction); |
| 91 | + assertThat(transactionJson).isEqualTo(transactionJson1); |
| 92 | + } |
| 93 | + |
| 94 | + @Test |
| 95 | + public void testApplicationTransactionJsonSerialization() throws Exception { |
| 96 | + Address from = new Address("VKM6KSCTDHEM6KGEAMSYCNEGIPFJMHDSEMIRAQLK76CJDIRMMDHKAIRMFQ"); |
| 97 | + Transaction tx = Transaction.ApplicationUpdateTransactionBuilder() |
| 98 | + .sender(from) |
| 99 | + .applicationId(100000L) |
| 100 | + .firstValid(301) |
| 101 | + .lastValid(1300) |
| 102 | + .genesisHash(new Digest()) |
| 103 | + .build(); |
| 104 | + |
| 105 | + ObjectMapper objectMapper = new ObjectMapper(); |
| 106 | + String transactionJson = objectMapper.writeValueAsString(tx); |
| 107 | + final Transaction transaction = objectMapper.readValue(transactionJson, Transaction.class); |
| 108 | + assertEqual(tx, transaction); |
| 109 | + String transactionJson1 = objectMapper.writeValueAsString(transaction); |
| 110 | + assertThat(transactionJson).isEqualTo(transactionJson1); |
| 111 | + } |
| 112 | + |
68 | 113 | @Test |
69 | 114 | public void testSerializationMsgpack() throws Exception { |
70 | 115 | Address from = new Address("VKM6KSCTDHEM6KGEAMSYCNEGIPFJMHDSEMIRAQLK76CJDIRMMDHKAIRMFQ"); |
|
0 commit comments