Add transformers Map<K,V>.havingKeys() and Map<K,V>.havingValues()#557
Add transformers Map<K,V>.havingKeys() and Map<K,V>.havingValues()#557HaydenMeloche wants to merge 1 commit intoassertk-org:mainfrom
Map<K,V>.havingKeys() and Map<K,V>.havingValues()#557Conversation
Do any other "having"-style functions also perform an implicit assertion? Really my only criticism of this approach is that there's something pure in the "having" suite of functions being purely transformational in contrast to actual validation functions. There's nothing strictly wrong with doing |
|
I did find some examples, such as |
|
@JakeWharton I admittedly was on the fence here (and I'm definitely open to removing the assertion). |
|
This seems analogous to #546 (function names in that PR notwithstanding). |
| @Test | ||
| fun havingValues_empty_list_fails() { | ||
| val error = assertFailsWith<AssertionError> { | ||
| assertThat(emptyMap<String, String>()).havingKeys() |
This adds some transformers allowing you to utilize
Collectionasserts on parts of a map.Example for keys:
Example for values:
Given that there is already a
Map<K,V>.isNotEmpty()I thought it made sense to have these transformers throw an error if their corresponding parts have no values.fixes #527