    @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());
    }