Weekly Roundup 2019-09-17

By Max Woerner Chase

Next week, I'd like to keep up the writing, because now that the mutation testing is reliable, I have to actually confront the fact that it's giving me mutations like this:

--- src/structured_data/_patterns/mapping_match.py
+++ src/structured_data/_patterns/mapping_match.py
@@ -108,7 +108,7 @@

     def exhaustive_length_must_match(self, value: typing.Sized):
         """If the match is exhaustive and the lengths differ, fail."""
-        if self.exhaustive and dict_pattern_length(value) != dict_pattern_length(self):
+        if self.exhaustive and dict_pattern_length(value) == dict_pattern_length(self):
             raise MatchFailure

     def destructure(

How 'bout those coverage metrics?