[ https://issues.apache.org/jira/browse/CALCITE-5726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Hyde reassigned CALCITE-5726: ------------------------------------ Assignee: Julian Hyde > 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 > Assignee: Julian Hyde > Priority: Major > > 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)