2024 Clojure 状态调查! 分享您的想法。

欢迎!请参阅 关于 页面了解有关此如何运作的更多信息。

0 投票
data.fressian

当你升级 Fressian 从 1.5.1 到 1.6 时,测试将通过,但 1.6 中的等价行为不同。例如

(let [val #{}] (= (set [val]) (set [(fressian/read (fressian/write val))])))

这是因为 Fressian 0.2.0 将 Fressian 集合从线读回作为 java.util.HashSet(参看 DFRS-5),并且包含空 PersistentHashSet 的 PersistentHashSet 现在不再等于包含 java.util.HashSet 的 PersistentHashSet。

要捕获这些变化,您需要一个可以创建嵌套值(包括集合)的生成式测试器。test.check 可以创建任意深度嵌套的值,但还没有集合(TCHECK-51)。

我已在 GitHub 上放了一个示例项目,展示了这个操作 https://github.com/danielcompton/data.fressian-test

1 答案

0 投票
...