diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9436e01..e88328b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ### Added
 - Add an exact length validator to the string spec factory (#2)
 - Add conforming string formats (#3)
+- Add ISO time string format (#4)
 
 ## [0.1.0] - 2019-10-20
 ### Added
diff --git a/src/dataspec/impl.py b/src/dataspec/impl.py
index 769230e..a7ae7a8 100644
--- a/src/dataspec/impl.py
+++ b/src/dataspec/impl.py
@@ -1006,6 +1006,17 @@ if sys.version_info >= (3, 7):
                 value=s,
             )
 
+    @register_str_format("iso-time", conformer=time.fromisoformat)
+    def _str_is_iso_time(s: str) -> Iterator[ErrorDetails]:
+        try:
+            time.fromisoformat(s)
+        except ValueError:
+            yield ErrorDetails(
+                message=f"String does not contain ISO formatted time",
+                pred=_str_is_iso_time,
+                value=s,
+            )
+
 
 else:
 

diff --git a/tests/test_dataspec.py b/tests/test_dataspec.py
index 77ce686..a706606 100644
--- a/tests/test_dataspec.py
+++ b/tests/test_dataspec.py
@@ -1432,6 +1432,71 @@ class TestStringSpecValidation:
             assert not datetime_spec.is_valid(v)
             assert not conforming_datetime_spec.is_valid(v)
 
+    @pytest.mark.skipif(
+        sys.version_info <= (3, 7), reason="time.fromisoformat added in Python 3.7"
+    )
+    class TestISOTimeFormat:
+        @pytest.fixture
+        def conform(self):
+            return time.fromisoformat
+
+        @pytest.fixture
+        def conforming_time_spec(self) -> Spec:
+            return s.str(conform_format="iso-time")
+
+        @pytest.fixture
+        def time_spec(self) -> Spec:
+            return s.str(format_="iso-time")
+
+        @pytest.mark.parametrize(
+            "v",
+            [
+                "18",
+                "18-00:00",
+                "18.335",
+                "18.335-00:00",
+                "18:03",
+                "18:03-00:00",
+                "18:03.335",
+                "18:03.335-00:00",
+                "18:03:50",
+                "18:03:50-00:00",
+                "18:03:50.617",
+                "18:03:50.617-00:00",
+                "18:03:50.617332",
+                "18:03:50.617332-00:00",
+            ],
+        )
+        def test_is_time_str(
+            self, time_spec: Spec, conforming_time_spec: Spec, conform, v
+        ):
+            assert time_spec.is_valid(v)
+            assert conforming_time_spec.is_valid(v)
+            assert conform(v) == conforming_time_spec.conform(v)
+
+        @pytest.mark.parametrize(
+            "v",
+            [
+                None,
+                25,
+                3.14,
+                [],
+                set(),
+                "abcdef",
+                "abcdefg",
+                "100017",
+                "10017-383",
+                "1945-9-2",
+                "430-10-02",
+                "2019-10-12",
+                "1945-09-02",
+                "1066-10-14",
+            ],
+        )
+        def test_is_not_time_str(self, time_spec: Spec, conforming_time_spec: Spec, v):
+            assert not time_spec.is_valid(v)
+            assert not conforming_time_spec.is_valid(v)
+
     class TestUUIDFormat:
         @pytest.fixture
         def conforming_uuid_spec(self) -> Spec:

Support ISO time strings
Currently, we support using `datetime.fromisoformat` and `date.fromisoformat` to check strings for a subset of ISO timestamps and dates. Python 3.7+ also has `time.fromisoformat`, which can validate a subset of ISO time strings.


tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18.335] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18.335-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03.335] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03.335-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03:50] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03:50-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617332] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617332-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[None] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[25] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[3.14] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[v3] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[v4] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[abcdef] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[abcdefg] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[100017] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[10017-383] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[1945-9-2] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[430-10-02] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[2019-10-12] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[1945-09-02] tests/test_dataspec.py::TestStringSpecValidation::TestISOTimeFormat::test_is_not_time_str[1066-10-14]
tests/test_dataspec.py::TestSpecConstructor::test_invalid_specs[None] tests/test_dataspec.py::TestSpecConstructor::test_invalid_specs[5] tests/test_dataspec.py::TestSpecConstructor::test_invalid_specs[3.14] tests/test_dataspec.py::TestSpecConstructor::test_invalid_specs[8j] tests/test_dataspec.py::TestSpecConstructor::test_spec_with_no_pred tests/test_dataspec.py::TestSpecConstructor::test_validator_spec tests/test_dataspec.py::TestSpecConstructor::test_predicate_spec tests/test_dataspec.py::TestCollSpecValidation::test_error_details[v0-path0] tests/test_dataspec.py::TestCollSpecValidation::test_error_details[v1-path1] tests/test_dataspec.py::TestCollSpecValidation::test_error_details[v2-path2] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_min_minlength[-1] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_min_minlength[-100] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_int_minlength[-0.5] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_int_minlength[0.5] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_int_minlength[2.71] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_minlength_spec[coll0] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_minlength_spec[coll1] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_minlength_spec_failure[coll0] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_minlength_spec_failure[coll1] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_minlength_spec_failure[coll2] tests/test_dataspec.py::TestCollSpecValidation::TestMinlengthValidation::test_minlength_spec_failure[coll3] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_min_maxlength[-1] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_min_maxlength[-100] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_int_maxlength[-0.5] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_int_maxlength[0.5] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_int_maxlength[2.71] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_maxlength_spec[coll0] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_maxlength_spec[coll1] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_maxlength_spec[coll2] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_maxlength_spec_failure[coll0] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_maxlength_spec_failure[coll1] tests/test_dataspec.py::TestCollSpecValidation::TestMaxlengthValidation::test_maxlength_spec_failure[coll2] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_min_count[-1] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_min_count[-100] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_int_count[-0.5] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_int_count[0.5] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_int_count[2.71] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_maxlength_spec[coll0] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_spec_failure[coll0] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_spec_failure[coll1] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_spec_failure[coll2] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_spec_failure[coll3] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_spec_failure[coll4] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts0] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts1] tests/test_dataspec.py::TestCollSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts2] tests/test_dataspec.py::TestCollSpecValidation::test_minlength_and_maxlength_agreement tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation[frozenset] tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation[list] tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation[set] tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation[tuple] tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation_failure[frozenset] tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation_failure[list] tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation_failure[set] tests/test_dataspec.py::TestCollSpecValidation::TestKindValidation::test_kind_validation_failure[tuple] tests/test_dataspec.py::TestCollSpecConformation::test_coll_conformation tests/test_dataspec.py::TestCollSpecConformation::test_set_coll_conformation tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec[d0] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec[d1] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec[d2] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[None] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[a tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[0] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[3.14] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[True] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[False] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[d6] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[d7] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[d8] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[d9] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[d10] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[d11] tests/test_dataspec.py::TestDictSpecValidation::test_dict_spec_failure[d12] tests/test_dataspec.py::TestDictSpecValidation::test_error_details[v0-path0] tests/test_dataspec.py::TestDictSpecValidation::test_error_details[v1-path1] tests/test_dataspec.py::TestDictSpecValidation::test_error_details[v2-path2] tests/test_dataspec.py::TestDictSpecConformation::test_dict_conformation tests/test_dataspec.py::TestObjectSpecValidation::test_obj_spec[o0] tests/test_dataspec.py::TestObjectSpecValidation::test_obj_spec[o1] tests/test_dataspec.py::TestObjectSpecValidation::test_obj_spec[o2] tests/test_dataspec.py::TestObjectSpecValidation::test_obj_spec_failure[o0] tests/test_dataspec.py::TestObjectSpecValidation::test_obj_spec_failure[o1] tests/test_dataspec.py::TestObjectSpecValidation::test_obj_spec_failure[o2] tests/test_dataspec.py::TestObjectSpecValidation::test_obj_spec_failure[o3] tests/test_dataspec.py::TestSetSpec::test_set_spec tests/test_dataspec.py::TestSetSpec::test_set_spec_conformation tests/test_dataspec.py::TestEnumSetSpec::test_enum_spec tests/test_dataspec.py::TestEnumSetSpec::test_enum_spec_conformation tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec[row0] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec[row1] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec[row2] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[None] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[a tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[0] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[3.14] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[True] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[False] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[row6] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[row7] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[row8] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[row9] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[row10] tests/test_dataspec.py::TestTupleSpecValidation::test_tuple_spec_failure[row11] tests/test_dataspec.py::TestTupleSpecValidation::test_error_details[v0-path0] tests/test_dataspec.py::TestTupleSpecValidation::test_error_details[v1-path1] tests/test_dataspec.py::TestTupleSpecConformation::test_tuple_conformation tests/test_dataspec.py::TestTupleSpecConformation::test_namedtuple_conformation tests/test_dataspec.py::TestAllSpecValidation::test_all_validation[c5a28680-986f-4f0d-8187-80d1fbe22059] tests/test_dataspec.py::TestAllSpecValidation::test_all_validation[3BE59FF6-9C75-4027-B132-C9792D84547D] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[6281d852-ef4d-11e9-9002-4c327592fea9] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[0e8d7ceb-56e8-36d2-9b54-ea48d4bdea3f] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[10988ff4-136c-5ca7-ab35-a686a56c22c4] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[5_0] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[abcde] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[ABCDe] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[5_1] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[3.14] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[None] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[v10] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[v11] tests/test_dataspec.py::TestAllSpecValidation::test_all_failure[v12] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[yes-YesNo.YES] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[Yes-YesNo.YES] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[yES-YesNo.YES] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[YES-YesNo.YES] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[no-YesNo.NO] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[No-YesNo.NO] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[nO-YesNo.NO] tests/test_dataspec.py::TestAllSpecConformation::test_all_spec_conformation[NO-YesNo.NO] tests/test_dataspec.py::test_any tests/test_dataspec.py::test_is_any[None] tests/test_dataspec.py::test_is_any[25] tests/test_dataspec.py::test_is_any[3.14] tests/test_dataspec.py::test_is_any[3j] tests/test_dataspec.py::test_is_any[v4] tests/test_dataspec.py::test_is_any[v5] tests/test_dataspec.py::test_is_any[v6] tests/test_dataspec.py::test_is_any[v7] tests/test_dataspec.py::test_is_any[abcdef] tests/test_dataspec.py::TestBoolValidation::test_bool[True] tests/test_dataspec.py::TestBoolValidation::test_bool[False] tests/test_dataspec.py::TestBoolValidation::test_bool_failure[1] tests/test_dataspec.py::TestBoolValidation::test_bool_failure[0] tests/test_dataspec.py::TestBoolValidation::test_bool_failure[] tests/test_dataspec.py::TestBoolValidation::test_bool_failure[a tests/test_dataspec.py::TestBoolValidation::test_is_false tests/test_dataspec.py::TestBoolValidation::test_is_true_failure[False] tests/test_dataspec.py::TestBoolValidation::test_is_true_failure[1] tests/test_dataspec.py::TestBoolValidation::test_is_true_failure[0] tests/test_dataspec.py::TestBoolValidation::test_is_true_failure[] tests/test_dataspec.py::TestBoolValidation::test_is_true_failure[a tests/test_dataspec.py::TestBoolValidation::test_is_true tests/test_dataspec.py::TestBytesSpecValidation::test_is_bytes[] tests/test_dataspec.py::TestBytesSpecValidation::test_is_bytes[a tests/test_dataspec.py::TestBytesSpecValidation::test_is_bytes[\xf0\x9f\x98\x8f] tests/test_dataspec.py::TestBytesSpecValidation::test_is_bytes[v3] tests/test_dataspec.py::TestBytesSpecValidation::test_is_bytes[v4] tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[25] tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[None] tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[3.14] tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[v3] tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[v4] tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[] tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[a tests/test_dataspec.py::TestBytesSpecValidation::test_not_is_bytes[\U0001f60f] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_min_minlength[-1] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_min_minlength[-100] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_int_minlength[-0.5] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_int_minlength[0.5] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_int_minlength[2.71] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_minlength[abcde] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_minlength[abcdef] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[None] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[25] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[3.14] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[v3] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[v4] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[a] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[ab] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[abc] tests/test_dataspec.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[abcd] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_min_maxlength[-1] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_min_maxlength[-100] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_int_maxlength[-0.5] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_int_maxlength[0.5] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_int_maxlength[2.71] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[a] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[ab] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[abc] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcd] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcde] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[None] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[25] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[3.14] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v3] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v4] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdef] tests/test_dataspec.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdefg] tests/test_dataspec.py::TestBytesSpecValidation::test_minlength_and_maxlength_agreement tests/test_dataspec.py::TestInstSpecValidation::test_is_inst[v0] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[None] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[25] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[3.14] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[3j] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[v4] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[v5] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[v6] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[v7] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[abcdef] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[v9] tests/test_dataspec.py::TestInstSpecValidation::test_is_inst_failure[v10] tests/test_dataspec.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v0] tests/test_dataspec.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v1] tests/test_dataspec.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v2] tests/test_dataspec.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v3] tests/test_dataspec.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec_failure[v0] tests/test_dataspec.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec_failure[v1] tests/test_dataspec.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec_failure[v2] tests/test_dataspec.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v0] tests/test_dataspec.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v1] tests/test_dataspec.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v2] tests/test_dataspec.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v3] tests/test_dataspec.py::TestInstSpecValidation::TestAfterSpec::test_after_spec_failure[v0] tests/test_dataspec.py::TestInstSpecValidation::TestAfterSpec::test_after_spec_failure[v1] tests/test_dataspec.py::TestInstSpecValidation::TestAfterSpec::test_after_spec_failure[v2] tests/test_dataspec.py::TestInstSpecValidation::TestIsAwareSpec::test_aware_spec tests/test_dataspec.py::TestInstSpecValidation::TestIsAwareSpec::test_aware_spec_failure tests/test_dataspec.py::TestDateSpecValidation::test_is_date[v0] tests/test_dataspec.py::TestDateSpecValidation::test_is_date[v1] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[None] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[25] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[3.14] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[3j] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[v4] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[v5] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[v6] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[v7] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[abcdef] tests/test_dataspec.py::TestDateSpecValidation::test_is_date_failure[v9] tests/test_dataspec.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v0] tests/test_dataspec.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v1] tests/test_dataspec.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v2] tests/test_dataspec.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v3] tests/test_dataspec.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec_failure[v0] tests/test_dataspec.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec_failure[v1] tests/test_dataspec.py::TestDateSpecValidation::TestAfterSpec::test_after_spec[v0] tests/test_dataspec.py::TestDateSpecValidation::TestAfterSpec::test_after_spec[v1] tests/test_dataspec.py::TestDateSpecValidation::TestAfterSpec::test_after_spec[v2] tests/test_dataspec.py::TestDateSpecValidation::TestAfterSpec::test_after_spec_failure[v0] tests/test_dataspec.py::TestDateSpecValidation::TestAfterSpec::test_after_spec_failure[v1] tests/test_dataspec.py::TestDateSpecValidation::TestAfterSpec::test_after_spec_failure[v2] tests/test_dataspec.py::TestDateSpecValidation::TestIsAwareSpec::test_aware_spec tests/test_dataspec.py::TestTimeSpecValidation::test_is_time[v0] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[None] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[25] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[3.14] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[3j] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[v4] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[v5] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[v6] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[v7] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[abcdef] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[v9] tests/test_dataspec.py::TestTimeSpecValidation::test_is_time_failure[v10] tests/test_dataspec.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec[v0] tests/test_dataspec.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec[v1] tests/test_dataspec.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec[v2] tests/test_dataspec.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec_failure[v0] tests/test_dataspec.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec_failure[v1] tests/test_dataspec.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec_failure[v2] tests/test_dataspec.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec[v0] tests/test_dataspec.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec[v1] tests/test_dataspec.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec[v2] tests/test_dataspec.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec_failure[v0] tests/test_dataspec.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec_failure[v1] tests/test_dataspec.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec_failure[v2] tests/test_dataspec.py::TestTimeSpecValidation::TestIsAwareSpec::test_aware_spec tests/test_dataspec.py::TestTimeSpecValidation::TestIsAwareSpec::test_aware_spec_failure tests/test_dataspec.py::test_nilable tests/test_dataspec.py::TestNumSpecValidation::test_is_num[-3] tests/test_dataspec.py::TestNumSpecValidation::test_is_num[25] tests/test_dataspec.py::TestNumSpecValidation::test_is_num[3.14] tests/test_dataspec.py::TestNumSpecValidation::test_is_num[-2.72] tests/test_dataspec.py::TestNumSpecValidation::test_is_num[-33] tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[4j] tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[6j] tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[] tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[a tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[\U0001f60f] tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[None] tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[v6] tests/test_dataspec.py::TestNumSpecValidation::test_not_is_num[v7] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[5] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[6] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[100] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[300.14] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[5.83838828283] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[None] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[-50] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[4.9] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[4] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[0] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[3.14] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[v6] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[v7] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[a] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[ab] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[abc] tests/test_dataspec.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[abcd] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[-50] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[4.9] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[4] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[0] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[3.14] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[5] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[None] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[6] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[100] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[300.14] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[5.83838828283] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[v5] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[v6] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[a] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[ab] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[abc] tests/test_dataspec.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[abcd] tests/test_dataspec.py::TestNumSpecValidation::test_min_and_max_agreement tests/test_dataspec.py::TestStringSpecValidation::test_is_str[] tests/test_dataspec.py::TestStringSpecValidation::test_is_str[a tests/test_dataspec.py::TestStringSpecValidation::test_is_str[\U0001f60f] tests/test_dataspec.py::TestStringSpecValidation::test_not_is_str[25] tests/test_dataspec.py::TestStringSpecValidation::test_not_is_str[None] tests/test_dataspec.py::TestStringSpecValidation::test_not_is_str[3.14] tests/test_dataspec.py::TestStringSpecValidation::test_not_is_str[v3] tests/test_dataspec.py::TestStringSpecValidation::test_not_is_str[v4] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_min_count[-1] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_min_count[-100] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_int_count[-0.5] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_int_count[0.5] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_int_count[2.71] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[xxx] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[xxy] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[773] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[833] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[x] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[xx] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[xxxx] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[xxxxx] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts0] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts1] tests/test_dataspec.py::TestStringSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts2] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_min_minlength[-1] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_min_minlength[-100] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_int_minlength[-0.5] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_int_minlength[0.5] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_int_minlength[2.71] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_minlength[abcde] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_minlength[abcdef] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[None] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[25] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[3.14] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[v3] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[v4] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[a] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[ab] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[abc] tests/test_dataspec.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[abcd] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_min_maxlength[-1] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_min_maxlength[-100] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_int_maxlength[-0.5] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_int_maxlength[0.5] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_int_maxlength[2.71] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[a] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[ab] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[abc] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcd] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcde] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[None] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[25] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[3.14] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v3] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v4] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdef] tests/test_dataspec.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdefg] tests/test_dataspec.py::TestStringSpecValidation::test_minlength_and_maxlength_agreement tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[10017] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[10017-3332] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[37779] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[37779-2770] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[00000] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[None] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[25] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[3.14] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[v3] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[v4] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[abcdef] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[abcdefg] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[100017] tests/test_dataspec.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[10017-383] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_date_str[2019-10-12] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_date_str[1945-09-02] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_date_str[1066-10-14] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[None] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[25] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[3.14] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[v3] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[v4] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[abcdef] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[abcdefg] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[100017] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[10017-383] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[1945-9-2] tests/test_dataspec.py::TestStringSpecValidation::TestISODateFormat::test_is_not_date_str[430-10-02] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_datetime_str[2019-10-12T18:03:50.617-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_datetime_str[1945-09-02T18:03:50.617-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_datetime_str[1066-10-14T18:03:50.617-00:00] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_datetime_str[2019-10-12] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_datetime_str[1945-09-02] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_datetime_str[1066-10-14] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[None] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[25] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[3.14] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[v3] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[v4] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[abcdef] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[abcdefg] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[100017] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[10017-383] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[1945-9-2] tests/test_dataspec.py::TestStringSpecValidation::TestISODatetimeFormat::test_is_not_datetime_str[430-10-02] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_uuid_str[91d7e5f0-7567-4569-a61d-02ed57507f47] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_uuid_str[91d7e5f075674569a61d02ed57507f47] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_uuid_str[06130510-83A5-478B-B65C-6A8DC2104E2F] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_uuid_str[0613051083A5478BB65C6A8DC2104E2F] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[None] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[25] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[3.14] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[v3] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[v4] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[abcdef] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[abcdefg] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[100017] tests/test_dataspec.py::TestStringSpecValidation::TestUUIDFormat::test_is_not_uuid_str[10017-383] tests/test_dataspec.py::TestStringSpecValidation::test_regex_and_format_agreement[opts0] tests/test_dataspec.py::TestStringSpecValidation::test_regex_and_format_agreement[opts1] tests/test_dataspec.py::TestStringSpecValidation::test_regex_and_format_agreement[opts2] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation[6281d852-ef4d-11e9-9002-4c327592fea9] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation[0e8d7ceb-56e8-36d2-9b54-ea48d4bdea3f] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation[c5a28680-986f-4f0d-8187-80d1fbe22059] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation[3BE59FF6-9C75-4027-B132-C9792D84547D] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation[10988ff4-136c-5ca7-ab35-a686a56c22c4] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[5_0] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[abcde] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[ABCDe] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[5_1] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[3.14] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[None] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[v7] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[v8] tests/test_dataspec.py::TestUUIDSpecValidation::test_uuid_validation_failure[v9] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_invalid_uuid_version_spec[versions0] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_invalid_uuid_version_spec[versions1] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_invalid_uuid_version_spec[versions2] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation[6281d852-ef4d-11e9-9002-4c327592fea9] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation[c5a28680-986f-4f0d-8187-80d1fbe22059] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation[3BE59FF6-9C75-4027-B132-C9792D84547D] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[0e8d7ceb-56e8-36d2-9b54-ea48d4bdea3f] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[10988ff4-136c-5ca7-ab35-a686a56c22c4] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[5_0] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[abcde] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[ABCDe] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[5_1] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[3.14] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[None] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[v9] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[v10] tests/test_dataspec.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[v11] tests/test_dataspec.py::TestFunctionSpecs::test_arg_specs tests/test_dataspec.py::TestFunctionSpecs::test_kwarg_specs tests/test_dataspec.py::TestFunctionSpecs::test_return_spec