Introducing the HTLC object instance
This commit is contained in:
parent
39bcf78add
commit
6ba8379b92
2 changed files with 69 additions and 0 deletions
43
graphenej/src/main/java/cy/agorise/graphenej/Htlc.java
Normal file
43
graphenej/src/main/java/cy/agorise/graphenej/Htlc.java
Normal file
|
@ -0,0 +1,43 @@
|
|||
package cy.agorise.graphenej;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutput;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import cy.agorise.graphenej.interfaces.ByteSerializable;
|
||||
import cy.agorise.graphenej.interfaces.JsonSerializable;
|
||||
|
||||
/**
|
||||
* Class used to represent an existing HTLC contract.
|
||||
*/
|
||||
public class Htlc extends GrapheneObject implements ByteSerializable, JsonSerializable {
|
||||
|
||||
public Htlc(String id) {
|
||||
super(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] toBytes() {
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
DataOutput out = new DataOutputStream(byteArrayOutputStream);
|
||||
try {
|
||||
Varint.writeUnsignedVarLong(this.instance, out);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return byteArrayOutputStream.toByteArray();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJsonString() {
|
||||
return this.getObjectId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonElement toJsonObject() {
|
||||
return null;
|
||||
}
|
||||
}
|
26
graphenej/src/test/java/cy/agorise/graphenej/HtlcTest.java
Normal file
26
graphenej/src/test/java/cy/agorise/graphenej/HtlcTest.java
Normal file
|
@ -0,0 +1,26 @@
|
|||
package cy.agorise.graphenej;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class HtlcTest {
|
||||
private final Htlc htlc = new Htlc("1.16.124");
|
||||
|
||||
@Test
|
||||
public void testByteSerialization(){
|
||||
Htlc htlc1 = new Htlc("1.16.1");
|
||||
Htlc htlc2 = new Htlc("1.16.100");
|
||||
Htlc htlc3 = new Htlc("1.16.500");
|
||||
Htlc htlc4 = new Htlc("1.16.1000");
|
||||
|
||||
byte[] expected_1 = Util.hexToBytes("01");
|
||||
byte[] expected_2 = Util.hexToBytes("64");
|
||||
byte[] expected_3 = Util.hexToBytes("f403");
|
||||
byte[] expected_4 = Util.hexToBytes("e807");
|
||||
|
||||
Assert.assertArrayEquals(expected_1, htlc1.toBytes());
|
||||
Assert.assertArrayEquals(expected_2, htlc2.toBytes());
|
||||
Assert.assertArrayEquals(expected_3, htlc3.toBytes());
|
||||
Assert.assertArrayEquals(expected_4, htlc4.toBytes());
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue