diff --git a/contracts/src/test/kotlin/com/r3corda/contracts/asset/TmpTest.java b/contracts/src/test/kotlin/com/r3corda/contracts/asset/TmpTest.java deleted file mode 100644 index 79acf19ae9..0000000000 --- a/contracts/src/test/kotlin/com/r3corda/contracts/asset/TmpTest.java +++ /dev/null @@ -1,225 +0,0 @@ -package com.r3corda.contracts.asset; - -import kotlin.Unit; -import org.junit.Test; - -import static com.r3corda.core.testing.JavaTestHelpers.*; -import static com.r3corda.core.contracts.JavaTestHelpers.*; - -public class TmpTest { - - public static class Asd { - @Test - public void emptyLedger() { - ledger(l -> { - return Unit.INSTANCE; - }); - } -// -// @Test -// public void simpleCashDoesntCompile() { -// Cash.State inState = new Cash.State( -// issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), -// getDUMMY_PUBKEY_1() -// ); -// ledger(l -> { -// l.transaction(tx -> { -// tx.input(inState); -// }); -// return Unit.INSTANCE; -// }); -// } - - @Test - public void simpleCash() { - Cash.State inState = new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getDUMMY_PUBKEY_1() - ); - ledger(l -> { - l.transaction(tx -> { - tx.input(inState); - return tx.verifies(); - }); - return Unit.INSTANCE; - }); - } - - @Test - public void simpleCashFailsWith() { - Cash.State inState = new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getDUMMY_PUBKEY_1() - ); - ledger(l -> { - l.transaction(tx -> { - tx.input(inState); - return tx.failsWith("the amounts balance"); - }); - return Unit.INSTANCE; - }); - } - - @Test - public void simpleCashSuccess() { - Cash.State inState = new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getDUMMY_PUBKEY_1() - ); - ledger(l -> { - l.transaction(tx -> { - tx.input(inState); - tx.failsWith("the amounts balance"); - tx.output(inState.copy(inState.getAmount(), getDUMMY_PUBKEY_2())); - tx.command(getDUMMY_PUBKEY_1(), new Cash.Commands.Move()); - return tx.verifies(); - }); - return Unit.INSTANCE; - }); - } - - @Test - public void simpleCashTweakSuccess() { - Cash.State inState = new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getDUMMY_PUBKEY_1() - ); - ledger(l -> { - l.transaction(tx -> { - tx.input(inState); - tx.failsWith("the amounts balance"); - tx.output(inState.copy(inState.getAmount(), getDUMMY_PUBKEY_2())); - - tx.tweak(tw -> { - tw.command(getDUMMY_PUBKEY_2(), new Cash.Commands.Move()); - return tw.failsWith("the owning keys are the same as the signing keys"); - }); - tx.command(getDUMMY_PUBKEY_1(), new Cash.Commands.Move()); - return tx.verifies(); - }); - return Unit.INSTANCE; - }); - } - - @Test - public void simpleCashTweakSuccessTopLevelTransaction() { - Cash.State inState = new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getDUMMY_PUBKEY_1() - ); - transaction(tx -> { - tx.input(inState); - tx.failsWith("the amounts balance"); - tx.output(inState.copy(inState.getAmount(), getDUMMY_PUBKEY_2())); - - tx.tweak(tw -> { - tw.command(getDUMMY_PUBKEY_2(), new Cash.Commands.Move()); - return tw.failsWith("the owning keys are the same as the signing keys"); - }); - tx.command(getDUMMY_PUBKEY_1(), new Cash.Commands.Move()); - return tx.verifies(); - }); - } - - - @Test - public void chainCash() { - ledger(l -> { - l.unverifiedTransaction(tx -> { - tx.output("MEGA_CORP cash", - new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getMEGA_CORP_PUBKEY() - ) - ); - return Unit.INSTANCE; - }); - - l.transaction(tx -> { - tx.input("MEGA_CORP cash"); - Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash"); - tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_1())); - tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move()); - return tx.verifies(); - }); - - return Unit.INSTANCE; - }); - } - - @Test - public void chainCashDoubleSpend() { - ledger(l -> { - l.unverifiedTransaction(tx -> { - tx.output("MEGA_CORP cash", - new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getMEGA_CORP_PUBKEY() - ) - ); - return Unit.INSTANCE; - }); - - l.transaction(tx -> { - tx.input("MEGA_CORP cash"); - Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash"); - tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_1())); - tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move()); - return tx.verifies(); - }); - - l.transaction(tx -> { - tx.input("MEGA_CORP cash"); - Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash"); - // We send it to another pubkey so that the transaction is not identical to the previous one - tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_2())); - tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move()); - return tx.verifies(); - }); - - return Unit.INSTANCE; - }); - } - - @Test - public void chainCashDoubleSpendFailsWith() { - ledger(l -> { - l.unverifiedTransaction(tx -> { - tx.output("MEGA_CORP cash", - new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), - getMEGA_CORP_PUBKEY() - ) - ); - return Unit.INSTANCE; - }); - - l.transaction(tx -> { - tx.input("MEGA_CORP cash"); - Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash"); - tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_1())); - tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move()); - return tx.verifies(); - }); - - l.tweak(lw -> { - lw.transaction(tx -> { - tx.input("MEGA_CORP cash"); - Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash"); - // We send it to another pubkey so that the transaction is not identical to the previous one - tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_2())); - tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move()); - return tx.verifies(); - }); - lw.fails(); - return Unit.INSTANCE; - }); - - l.verifies(); - return Unit.INSTANCE; - }); - } - - - } -} diff --git a/contracts/src/test/kotlin/com/r3corda/contracts/asset/TmpTest.kt b/contracts/src/test/kotlin/com/r3corda/contracts/asset/TmpTest.kt deleted file mode 100644 index e77b341846..0000000000 --- a/contracts/src/test/kotlin/com/r3corda/contracts/asset/TmpTest.kt +++ /dev/null @@ -1,209 +0,0 @@ -package com.r3corda.contracts.asset - -import com.r3corda.core.contracts.DOLLARS -import com.r3corda.core.contracts.`issued by` -import com.r3corda.core.testing.* -import org.junit.Test - - -class Asd { - - class Asd { - - @Test - fun emptyLedger() { - ledger { - } - } -// -// @Test -// fun simpleCashFails() { -// ledger { -// transaction { -// input(Cash.State( -// amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), -// owner = DUMMY_PUBKEY_1 -// )) -// this.verifies() -// } -// } -// } - - @Test - fun simpleCash() { - val inState = Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = DUMMY_PUBKEY_1 - ) - ledger { - transaction { - input(inState) - this.verifies() - } - } - } - - @Test - fun simpleCashFailsWith() { - val inState = Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = DUMMY_PUBKEY_1 - ) - ledger { - transaction { - input(inState) - this `fails with` "the amounts balance" - } - } - } - - @Test - fun simpleCashSuccess() { - val inState = Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = DUMMY_PUBKEY_1 - ) - ledger { - transaction { - input(inState) - this `fails with` "the amounts balance" - output(inState.copy(owner = DUMMY_PUBKEY_2)) - command(DUMMY_PUBKEY_1) { Cash.Commands.Move() } - this.verifies() - } - } - } - - @Test - fun simpleCashTweakSuccess() { - val inState = Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = DUMMY_PUBKEY_1 - ) - ledger { - transaction { - input(inState) - this `fails with` "the amounts balance" - output(inState.copy(owner = DUMMY_PUBKEY_2)) - - tweak { - command(DUMMY_PUBKEY_2) { Cash.Commands.Move() } - this `fails with` "the owning keys are the same as the signing keys" - } - - command(DUMMY_PUBKEY_1) { Cash.Commands.Move() } - this.verifies() - } - } - } - - @Test - fun simpleCashTweakSuccessTopLevelTransaction() { - val inState = Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = DUMMY_PUBKEY_1 - ) - transaction { - input(inState) - this `fails with` "the amounts balance" - output(inState.copy(owner = DUMMY_PUBKEY_2)) - - tweak { - command(DUMMY_PUBKEY_2) { Cash.Commands.Move() } - this `fails with` "the owning keys are the same as the signing keys" - } - - command(DUMMY_PUBKEY_1) { Cash.Commands.Move() } - this.verifies() - } - } - - - @Test - fun chainCash() { - ledger { - unverifiedTransaction { - output("MEGA_CORP cash") { - Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = MEGA_CORP_PUBKEY - ) - } - } - - transaction { - input("MEGA_CORP cash") - output("MEGA_CORP cash".output().copy(owner = DUMMY_PUBKEY_1)) - command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() } - this.verifies() - } - } - } - - - @Test - fun chainCashDoubleSpend() { - ledger { - unverifiedTransaction { - output("MEGA_CORP cash") { - Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = MEGA_CORP_PUBKEY - ) - } - } - - transaction { - input("MEGA_CORP cash") - output("MEGA_CORP cash".output().copy(owner = DUMMY_PUBKEY_1)) - command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() } - this.verifies() - } - - transaction { - input("MEGA_CORP cash") - // We send it to another pubkey so that the transaction is not identical to the previous one - output("MEGA_CORP cash".output().copy(owner = DUMMY_PUBKEY_1)) - command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() } - this.verifies() - } - } - } - - @Test - fun chainCashDoubleSpendFailsWith() { - ledger { - unverifiedTransaction { - output("MEGA_CORP cash") { - Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), - owner = MEGA_CORP_PUBKEY - ) - } - } - - transaction { - input("MEGA_CORP cash") - output("MEGA_CORP cash".output().copy(owner = DUMMY_PUBKEY_1)) - command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() } - this.verifies() - } - - tweak { - transaction { - input("MEGA_CORP cash") - // We send it to another pubkey so that the transaction is not identical to the previous one - output("MEGA_CORP cash".output().copy(owner = DUMMY_PUBKEY_2)) - command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() } - this.verifies() - } - this.fails() - } - - this.verifies() - } - } - } - -} -