2

如果我想验证合约是否处于活动状态,我可以简单地在场景中获取它:

template Something
  with
    party : Party
  where
    signatory party

    nonconsuming choice DoStuff : ()
      controller party
        do
          return ()


myTest = scenario do
  someone <- getParty "Someone"
  submit someone do
    cid <- create Something with party = someone 
    exercise cid DoStuff
    fetch cid  -- would fail if the DoStuff choice was consuming

我如何断言相反?

template Something
  with
    party : Party
  where
    signatory party

    choice DoStuff : ()
      controller party
        do
          return ()


myTest = scenario do
  someone <- getParty "Someone"
  submit someone do
    cid <- create Something with party = someone 
    exercise cid DoStuff
    fetch cid  -- fails the scenario, as it should, but that's what I want to check for
4

1 回答 1

2

此代码显示您可以将 a 链接cid到适当的范围内,以允许 asubmitMustFail以预期的方式运行:

myTest = scenario do
  someone <- getParty "Someone"
  cid <- submit someone do
    create Something with party = someone
  submit someone do
    exercise cid DoStuff
  submitMustFail someone do
    fetch cid  -- would fail if the DoStuff choice was consuming
于 2019-06-27T00:08:35.337 回答