@Test
public void standardOutputs() throws Exception {

    Transaction tx = new Transaction(PARAMS);
    tx.addInput(PARAMS.getGenesisBlock().getTransactions().get(0).getOutput(0));
    // A pay to address output
    tx.addOutput(Coin.CENT, ScriptBuilder.createOutputScript(key1.toAddress(PARAMS)));
    // A pay to pubkey output
    tx.addOutput(Coin.CENT, ScriptBuilder.createOutputScript(key1));
    tx.addOutput(Coin.CENT, ScriptBuilder.createOutputScript(key1));
    // 1-of-2 multisig output.
    ImmutableList<ECKey> keys = ImmutableList.of(key1, new ECKey());
    tx.addOutput(Coin.CENT, ScriptBuilder.createMultiSigOutputScript(1, keys));
    // 2-of-2 multisig output.
    tx.addOutput(Coin.CENT, ScriptBuilder.createMultiSigOutputScript(2, keys));
    // P2SH
    tx.addOutput(Coin.CENT, ScriptBuilder.createP2SHOutputScript(1, keys));
    // OP_RETURN
    tx.addOutput(Coin.CENT, ScriptBuilder.createOpReturnScript("hi there".getBytes()));
    assertEquals(RiskAnalysis.Result.OK, DefaultRiskAnalysis.FACTORY.create(wallet, tx, NO_DEPS).analyze());
}