### Question:
Sign { public static SignatureData signMessage(byte[] message, ECKeyPair keyPair) { return signMessage(message, keyPair, true); }  static SignatureData signEIP155Message(int chainId, byte[] message, ECKeyPair keyPair); static SignatureData signMessage(byte[] message, ECKeyPair keyPair); static SignatureData signMessage(byte[] message, ECKeyPair keyPair, boolean needToHash); static BigInteger recoverFromSignature(int recId, ECDSASignature sig, byte[] message); static BigInteger signedMessageToKey(
            byte[] message, SignatureData signatureData); static BigInteger signedEIP155MessageToKey(int chainId,
            byte[] message, SignatureData signatureData); static BigInteger publicKeyFromPrivate(BigInteger privKey);  }### Answer:
@Test public void testSignMessage() { Sign.SignatureData signatureData = Sign.signMessage(TEST_MESSAGE, SampleKeys.KEY_PAIR); Sign.SignatureData expected = new Sign.SignatureData( (byte) 28, Numeric.hexStringToByteArray( "0x17db5523013824f4fd974fca0629ea8dfc8aab51586983a1b7774ef187a58010"), Numeric.hexStringToByteArray( "0x266577e7602673786bedd99e122bd297bbae555015805924904a3769de904850") ); assertThat(signatureData, is(expected)); }