数据列表非空
https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-List-NonEmpty.html
如何展平 NonEmpty 中的 NonEmpty——留在 NonEmpty 内?IOW 我不想转换为常规列表并进行连接,然后转换回非空。
我的理解是,编写代码时应该不考虑测试,并且测试需要弯曲以迎合代码。我的问题是我有一个函数f1调用data从另一个函数返回的输入数据(Haskell 类型)f2。那么如何编写提供不同输入数据的测试用例呢?
当然,我可以f1为输入添加一个参数,但毕竟这是为了测试。它实际上比这更混乱,因为f1实际上是Plutus 合约,并且 arg 需要序列化为 JSON —— 所有这些都是为了测试。或者,我可以从文件中读取输入,并提供文件路径作为参数——参数已经够糟糕了,但如果不需要的话,我不想使用文件。
请注意,这f1是一个 http 端点,所有测试代码都需要通过端点。
data ActualData = ActualData String String Integer
newtype Input = Input [ActualData]
f1:: Contract () Schema Text ()
f1 = do
let input = f2
...
f2 :: Input -- to be determined in the future, currently unknown
f2 = Input
[ ActualData "BlackRock" "pkh1" 10
, ActualData "GreenRock" "pkh2" 20
]
Run Code Online (Sandbox Code Playgroud)