### Question:
Signature { Signature(G2Point point) { this.point = point; } Signature(G2Point point); static Signature aggregate(List<Signature> signatures); static Signature decode(Bytes bytes); Signature combine(Signature signature); Bytes encode(); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test void testSimpleSignature() { KeyPair keyPair = KeyPair.random(); byte[] message = "Hello".getBytes(UTF_8); SignatureAndPublicKey sigAndPubKey = BLS12381.sign(keyPair, message, 48); Boolean isValid = BLS12381.verify(sigAndPubKey.publicKey(), sigAndPubKey.signature(), message, 48); assertTrue(isValid); }