Julian Hyde created CALCITE-5726: ------------------------------------ Summary: Canonize use of Hamcrest matchers in test code Key: CALCITE-5726 URL: https://issues.apache.org/jira/browse/CALCITE-5726 Project: Calcite Issue Type: Bug Reporter: Julian Hyde
Canonize use of Hamcrest matchers in test code. 1. If there are multiple equivalent methods, use the canonical one: * CoreMatchers.is → Is.is * Matchers.hasToString → HasToString.hasToString * Matchers.hasSize → IsCollectionWithSize.hasSize * Matchers.aMapWithSize → IsMapWithSize.aMapWithSize 2. Use matchers for {{Object.toString()}}, {{Collection.size()}}, {{Map.size()}}: * assertThat(map.size(), is\(n)) → assertThat(map, aMapWithSize\(n)); * assertThat(list.size(), is\(n)) → assertThat(map, IsCollectionWithSize.hasSize\(n)); * assertThat(o.toString(), is(s)) → assertThat(o, hasToString(s)); * assertThat(o.toString(), equalTo(s)) → assertThat(o, hasToString(s)); Require static import of Hamcrest methods. The benefit is conciseness/uniformity of tests. Most of these transformations can be accomplished using autostyle rules in the Gradle {{build.gradle.kts}}, so people's code will be fixed using {{gradle autostyleApply}}. -- This message was sent by Atlassian Jira (v8.20.10#820010)