@Test public void testMultiSig() throws Exception { List<ECKey> keys = Lists.newArrayList(new ECKey(), new ECKey(), new ECKey()); assertTrue(ScriptBuilder.createMultiSigOutputScript(2, keys).isSentToMultiSig()); assertTrue(ScriptBuilder.createMultiSigOutputScript(3, keys).isSentToMultiSig()); assertFalse(ScriptBuilder.createOutputScript(new ECKey()).isSentToMultiSig()); try { // Fail if we ask for more signatures than keys. Script.createMultiSigOutputScript(4, keys); fail(); } catch (Throwable e) { // Expected. } try { // Must have at least one signature required. Script.createMultiSigOutputScript(0, keys); } catch (Throwable e) { // Expected. } // Actual execution is tested by the data driven tests. }