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

欢迎!请访问关于页面,了解有关此工作的更多信息。

0
data.fressian

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

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

这是因为Fressian 0.2.0将Fressian set重新读取为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
...