diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9629beb..cf8c599 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Add conforming string formats (#3)
 - Add ISO time string format (#4)
 - Allow type-checking specs to be created by passing a type directly to `s` (#12)
+- Add email address string format (#6)
 
 ## [0.1.0] - 2019-10-20
 ### Added
diff --git a/src/dataspec/factories.py b/src/dataspec/factories.py
index 7f5e005..35e5e0a 100644
--- a/src/dataspec/factories.py
+++ b/src/dataspec/factories.py
@@ -3,6 +3,7 @@ import sys
 import threading
 import uuid
 from datetime import date, datetime, time
+from email.headerregistry import Address
 from typing import (
     Any,
     Callable,
@@ -374,6 +375,18 @@ def register_str_format(
     return create_str_format
 
 
+@register_str_format("email")
+def _str_is_email_address(s: str) -> Iterator[ErrorDetails]:
+    try:
+        Address(addr_spec=s)
+    except (TypeError, ValueError) as e:
+        yield ErrorDetails(
+            f"String does not contain a valid email address: {e}",
+            pred=_str_is_email_address,
+            value=s,
+        )
+
+
 @register_str_format("uuid", conformer=uuid.UUID)
 def _str_is_uuid(s: str) -> Iterator[ErrorDetails]:
     try:

diff --git a/tests/test_factories.py b/tests/test_factories.py
index 84b2b23..3f368a8 100644
--- a/tests/test_factories.py
+++ b/tests/test_factories.py
@@ -652,6 +652,60 @@ class TestStringSpecValidation:
         def test_is_not_zipcode(self, zipcode_spec: Spec, v):
             assert not zipcode_spec.is_valid(v)
 
+    @pytest.mark.parametrize(
+        "opts",
+        [
+            {"regex": r"\d{5}(-\d{4})?", "format_": "uuid"},
+            {"regex": r"\d{5}(-\d{4})?", "conform_format": "uuid"},
+            {"conform_format": "uuid", "format_": "uuid"},
+        ],
+    )
+    def test_regex_and_format_agreement(self, opts):
+        with pytest.raises(ValueError):
+            s.str(**opts)
+
+
+class TestStringFormatValidation:
+    class TestEmailFormat:
+        @pytest.fixture
+        def email_spec(self) -> Spec:
+            return s.str(format_="email")
+
+        @pytest.mark.parametrize(
+            "v",
+            [
+                "chris@localhost",
+                "chris@gmail.com",
+                "chris+extra@gmail.com",
+                "chris.person@gmail.com",
+            ],
+        )
+        def test_is_email_str(self, email_spec: Spec, v):
+            assert email_spec.is_valid(v)
+
+        @pytest.mark.parametrize(
+            "v",
+            [
+                None,
+                25,
+                3.14,
+                [],
+                set(),
+                "abcdef",
+                "abcdefg",
+                "100017",
+                "10017-383",
+                "1945-9-2",
+                "430-10-02",
+                "chris",
+                "chris@",
+                "@gmail",
+                "@gmail.com",
+            ],
+        )
+        def test_is_not_email_str(self, email_spec: Spec, v):
+            assert not email_spec.is_valid(v)
+
     class TestISODateFormat:
         @pytest.fixture
         def conform(self):
@@ -849,18 +903,6 @@ class TestStringSpecValidation:
             assert not uuid_spec.is_valid(v)
             assert not conforming_uuid_spec.is_valid(v)
 
-    @pytest.mark.parametrize(
-        "opts",
-        [
-            {"regex": r"\d{5}(-\d{4})?", "format_": "uuid"},
-            {"regex": r"\d{5}(-\d{4})?", "conform_format": "uuid"},
-            {"conform_format": "uuid", "format_": "uuid"},
-        ],
-    )
-    def test_regex_and_format_agreement(self, opts):
-        with pytest.raises(ValueError):
-            s.str(**opts)
-
 
 class TestUUIDSpecValidation:
     @pytest.mark.parametrize(

Support email address string format
Applications commonly need to validate that an email address is at least in a valid format. Python features the [`email.headerregistry.Address`](https://docs.python.org/3/library/email.headerregistry.html#email.headerregistry.Address) object which parses email address strings and can provide some reasonable hints about formatting errors. It may not be foolproof, but for common cases it is probably sufficient. 
tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_email_str[chris@localhost] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_email_str[chris@gmail.com] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_email_str[chris+extra@gmail.com] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_email_str[chris.person@gmail.com] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[None] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[25] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[3.14] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[v3] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[v4] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[abcdef] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[abcdefg] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[100017] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[10017-383] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[1945-9-2] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[430-10-02] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[chris] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[chris@] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[@gmail] tests/test_factories.py::TestStringFormatValidation::TestEmailFormat::test_is_not_email_str[@gmail.com]
tests/test_factories.py::TestAllSpecValidation::test_all_validation[c5a28680-986f-4f0d-8187-80d1fbe22059] tests/test_factories.py::TestAllSpecValidation::test_all_validation[3BE59FF6-9C75-4027-B132-C9792D84547D] tests/test_factories.py::TestAllSpecValidation::test_all_failure[6281d852-ef4d-11e9-9002-4c327592fea9] tests/test_factories.py::TestAllSpecValidation::test_all_failure[0e8d7ceb-56e8-36d2-9b54-ea48d4bdea3f] tests/test_factories.py::TestAllSpecValidation::test_all_failure[10988ff4-136c-5ca7-ab35-a686a56c22c4] tests/test_factories.py::TestAllSpecValidation::test_all_failure[] tests/test_factories.py::TestAllSpecValidation::test_all_failure[5_0] tests/test_factories.py::TestAllSpecValidation::test_all_failure[abcde] tests/test_factories.py::TestAllSpecValidation::test_all_failure[ABCDe] tests/test_factories.py::TestAllSpecValidation::test_all_failure[5_1] tests/test_factories.py::TestAllSpecValidation::test_all_failure[3.14] tests/test_factories.py::TestAllSpecValidation::test_all_failure[None] tests/test_factories.py::TestAllSpecValidation::test_all_failure[v10] tests/test_factories.py::TestAllSpecValidation::test_all_failure[v11] tests/test_factories.py::TestAllSpecValidation::test_all_failure[v12] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[yes-YesNo.YES] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[Yes-YesNo.YES] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[yES-YesNo.YES] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[YES-YesNo.YES] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[no-YesNo.NO] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[No-YesNo.NO] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[nO-YesNo.NO] tests/test_factories.py::TestAllSpecConformation::test_all_spec_conformation[NO-YesNo.NO] tests/test_factories.py::test_any tests/test_factories.py::test_is_any[None] tests/test_factories.py::test_is_any[25] tests/test_factories.py::test_is_any[3.14] tests/test_factories.py::test_is_any[3j] tests/test_factories.py::test_is_any[v4] tests/test_factories.py::test_is_any[v5] tests/test_factories.py::test_is_any[v6] tests/test_factories.py::test_is_any[v7] tests/test_factories.py::test_is_any[abcdef] tests/test_factories.py::TestBoolValidation::test_bool[True] tests/test_factories.py::TestBoolValidation::test_bool[False] tests/test_factories.py::TestBoolValidation::test_bool_failure[1] tests/test_factories.py::TestBoolValidation::test_bool_failure[0] tests/test_factories.py::TestBoolValidation::test_bool_failure[] tests/test_factories.py::TestBoolValidation::test_bool_failure[a tests/test_factories.py::TestBoolValidation::test_is_false tests/test_factories.py::TestBoolValidation::test_is_true_failure[False] tests/test_factories.py::TestBoolValidation::test_is_true_failure[1] tests/test_factories.py::TestBoolValidation::test_is_true_failure[0] tests/test_factories.py::TestBoolValidation::test_is_true_failure[] tests/test_factories.py::TestBoolValidation::test_is_true_failure[a tests/test_factories.py::TestBoolValidation::test_is_true tests/test_factories.py::TestBytesSpecValidation::test_is_bytes[] tests/test_factories.py::TestBytesSpecValidation::test_is_bytes[a tests/test_factories.py::TestBytesSpecValidation::test_is_bytes[\xf0\x9f\x98\x8f] tests/test_factories.py::TestBytesSpecValidation::test_is_bytes[v3] tests/test_factories.py::TestBytesSpecValidation::test_is_bytes[v4] tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[25] tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[None] tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[3.14] tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[v3] tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[v4] tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[] tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[a tests/test_factories.py::TestBytesSpecValidation::test_not_is_bytes[\U0001f60f] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_min_minlength[-1] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_min_minlength[-100] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_int_minlength[-0.5] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_int_minlength[0.5] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_int_minlength[2.71] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_minlength[abcde] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_minlength[abcdef] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[None] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[25] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[3.14] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[v3] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[v4] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[a] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[ab] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[abc] tests/test_factories.py::TestBytesSpecValidation::TestMinlengthSpec::test_is_not_minlength[abcd] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_min_maxlength[-1] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_min_maxlength[-100] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_int_maxlength[-0.5] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_int_maxlength[0.5] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_int_maxlength[2.71] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[a] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[ab] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[abc] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcd] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcde] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[None] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[25] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[3.14] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v3] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v4] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdef] tests/test_factories.py::TestBytesSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdefg] tests/test_factories.py::TestBytesSpecValidation::test_minlength_and_maxlength_agreement tests/test_factories.py::TestInstSpecValidation::test_is_inst[v0] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[None] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[25] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[3.14] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[3j] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[v4] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[v5] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[v6] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[v7] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[abcdef] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[v9] tests/test_factories.py::TestInstSpecValidation::test_is_inst_failure[v10] tests/test_factories.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v0] tests/test_factories.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v1] tests/test_factories.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v2] tests/test_factories.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec[v3] tests/test_factories.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec_failure[v0] tests/test_factories.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec_failure[v1] tests/test_factories.py::TestInstSpecValidation::TestBeforeSpec::test_before_spec_failure[v2] tests/test_factories.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v0] tests/test_factories.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v1] tests/test_factories.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v2] tests/test_factories.py::TestInstSpecValidation::TestAfterSpec::test_after_spec[v3] tests/test_factories.py::TestInstSpecValidation::TestAfterSpec::test_after_spec_failure[v0] tests/test_factories.py::TestInstSpecValidation::TestAfterSpec::test_after_spec_failure[v1] tests/test_factories.py::TestInstSpecValidation::TestAfterSpec::test_after_spec_failure[v2] tests/test_factories.py::TestInstSpecValidation::TestIsAwareSpec::test_aware_spec tests/test_factories.py::TestInstSpecValidation::TestIsAwareSpec::test_aware_spec_failure tests/test_factories.py::TestDateSpecValidation::test_is_date[v0] tests/test_factories.py::TestDateSpecValidation::test_is_date[v1] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[None] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[25] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[3.14] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[3j] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[v4] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[v5] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[v6] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[v7] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[abcdef] tests/test_factories.py::TestDateSpecValidation::test_is_date_failure[v9] tests/test_factories.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v0] tests/test_factories.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v1] tests/test_factories.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v2] tests/test_factories.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec[v3] tests/test_factories.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec_failure[v0] tests/test_factories.py::TestDateSpecValidation::TestBeforeSpec::test_before_spec_failure[v1] tests/test_factories.py::TestDateSpecValidation::TestAfterSpec::test_after_spec[v0] tests/test_factories.py::TestDateSpecValidation::TestAfterSpec::test_after_spec[v1] tests/test_factories.py::TestDateSpecValidation::TestAfterSpec::test_after_spec[v2] tests/test_factories.py::TestDateSpecValidation::TestAfterSpec::test_after_spec_failure[v0] tests/test_factories.py::TestDateSpecValidation::TestAfterSpec::test_after_spec_failure[v1] tests/test_factories.py::TestDateSpecValidation::TestAfterSpec::test_after_spec_failure[v2] tests/test_factories.py::TestDateSpecValidation::TestIsAwareSpec::test_aware_spec tests/test_factories.py::TestTimeSpecValidation::test_is_time[v0] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[None] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[25] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[3.14] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[3j] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[v4] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[v5] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[v6] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[v7] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[abcdef] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[v9] tests/test_factories.py::TestTimeSpecValidation::test_is_time_failure[v10] tests/test_factories.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec[v0] tests/test_factories.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec[v1] tests/test_factories.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec[v2] tests/test_factories.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec_failure[v0] tests/test_factories.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec_failure[v1] tests/test_factories.py::TestTimeSpecValidation::TestBeforeSpec::test_before_spec_failure[v2] tests/test_factories.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec[v0] tests/test_factories.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec[v1] tests/test_factories.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec[v2] tests/test_factories.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec_failure[v0] tests/test_factories.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec_failure[v1] tests/test_factories.py::TestTimeSpecValidation::TestAfterSpec::test_after_spec_failure[v2] tests/test_factories.py::TestTimeSpecValidation::TestIsAwareSpec::test_aware_spec tests/test_factories.py::TestTimeSpecValidation::TestIsAwareSpec::test_aware_spec_failure tests/test_factories.py::test_nilable tests/test_factories.py::TestNumSpecValidation::test_is_num[-3] tests/test_factories.py::TestNumSpecValidation::test_is_num[25] tests/test_factories.py::TestNumSpecValidation::test_is_num[3.14] tests/test_factories.py::TestNumSpecValidation::test_is_num[-2.72] tests/test_factories.py::TestNumSpecValidation::test_is_num[-33] tests/test_factories.py::TestNumSpecValidation::test_not_is_num[4j] tests/test_factories.py::TestNumSpecValidation::test_not_is_num[6j] tests/test_factories.py::TestNumSpecValidation::test_not_is_num[] tests/test_factories.py::TestNumSpecValidation::test_not_is_num[a tests/test_factories.py::TestNumSpecValidation::test_not_is_num[\U0001f60f] tests/test_factories.py::TestNumSpecValidation::test_not_is_num[None] tests/test_factories.py::TestNumSpecValidation::test_not_is_num[v6] tests/test_factories.py::TestNumSpecValidation::test_not_is_num[v7] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[5] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[6] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[100] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[300.14] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_above_min[5.83838828283] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[None] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[-50] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[4.9] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[4] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[0] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[3.14] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[v6] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[v7] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[a] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[ab] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[abc] tests/test_factories.py::TestNumSpecValidation::TestMinSpec::test_is_not_above_min[abcd] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[-50] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[4.9] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[4] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[0] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[3.14] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_below_max[5] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[None] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[6] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[100] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[300.14] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[5.83838828283] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[v5] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[v6] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[a] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[ab] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[abc] tests/test_factories.py::TestNumSpecValidation::TestMaxSpec::test_is_not_below_max[abcd] tests/test_factories.py::TestNumSpecValidation::test_min_and_max_agreement tests/test_factories.py::TestStringSpecValidation::test_is_str[] tests/test_factories.py::TestStringSpecValidation::test_is_str[a tests/test_factories.py::TestStringSpecValidation::test_is_str[\U0001f60f] tests/test_factories.py::TestStringSpecValidation::test_not_is_str[25] tests/test_factories.py::TestStringSpecValidation::test_not_is_str[None] tests/test_factories.py::TestStringSpecValidation::test_not_is_str[3.14] tests/test_factories.py::TestStringSpecValidation::test_not_is_str[v3] tests/test_factories.py::TestStringSpecValidation::test_not_is_str[v4] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_min_count[-1] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_min_count[-100] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_int_count[-0.5] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_int_count[0.5] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_int_count[2.71] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[xxx] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[xxy] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[773] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_maxlength_spec[833] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[x] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[xx] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[xxxx] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_spec_failure[xxxxx] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts0] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts1] tests/test_factories.py::TestStringSpecValidation::TestCountValidation::test_count_and_minlength_or_maxlength_agreement[opts2] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_min_minlength[-1] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_min_minlength[-100] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_int_minlength[-0.5] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_int_minlength[0.5] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_int_minlength[2.71] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_minlength[abcde] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_minlength[abcdef] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[None] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[25] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[3.14] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[v3] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[v4] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[a] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[ab] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[abc] tests/test_factories.py::TestStringSpecValidation::TestMinlengthSpec::test_is_not_minlength[abcd] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_min_maxlength[-1] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_min_maxlength[-100] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_int_maxlength[-0.5] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_int_maxlength[0.5] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_int_maxlength[2.71] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[a] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[ab] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[abc] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcd] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_maxlength[abcde] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[None] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[25] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[3.14] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v3] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[v4] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdef] tests/test_factories.py::TestStringSpecValidation::TestMaxlengthSpec::test_is_not_maxlength[abcdefg] tests/test_factories.py::TestStringSpecValidation::test_minlength_and_maxlength_agreement tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[10017] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[10017-3332] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[37779] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[37779-2770] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_zipcode[00000] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[None] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[25] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[3.14] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[v3] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[v4] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[abcdef] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[abcdefg] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[100017] tests/test_factories.py::TestStringSpecValidation::TestRegexSpec::test_is_not_zipcode[10017-383] tests/test_factories.py::TestStringSpecValidation::test_regex_and_format_agreement[opts0] tests/test_factories.py::TestStringSpecValidation::test_regex_and_format_agreement[opts1] tests/test_factories.py::TestStringSpecValidation::test_regex_and_format_agreement[opts2] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_date_str[2019-10-12] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_date_str[1945-09-02] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_date_str[1066-10-14] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[None] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[25] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[3.14] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[v3] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[v4] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[abcdef] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[abcdefg] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[100017] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[10017-383] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[1945-9-2] tests/test_factories.py::TestStringFormatValidation::TestISODateFormat::test_is_not_date_str[430-10-02] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_datetime_str[2019-10-12T18:03:50.617-00:00] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_datetime_str[1945-09-02T18:03:50.617-00:00] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_datetime_str[1066-10-14T18:03:50.617-00:00] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_datetime_str[2019-10-12] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_datetime_str[1945-09-02] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_datetime_str[1066-10-14] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[None] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[25] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[3.14] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[v3] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[v4] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[abcdef] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[abcdefg] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[100017] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[10017-383] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[1945-9-2] tests/test_factories.py::TestStringFormatValidation::TestISODatetimeFormat::test_is_not_datetime_str[430-10-02] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18-00:00] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18.335] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18.335-00:00] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03-00:00] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03.335] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03.335-00:00] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03:50] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03:50-00:00] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617-00:00] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617332] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_time_str[18:03:50.617332-00:00] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[None] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[25] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[3.14] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[v3] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[v4] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[abcdef] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[abcdefg] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[100017] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[10017-383] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[1945-9-2] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[430-10-02] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[2019-10-12] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[1945-09-02] tests/test_factories.py::TestStringFormatValidation::TestISOTimeFormat::test_is_not_time_str[1066-10-14] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_uuid_str[91d7e5f0-7567-4569-a61d-02ed57507f47] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_uuid_str[91d7e5f075674569a61d02ed57507f47] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_uuid_str[06130510-83A5-478B-B65C-6A8DC2104E2F] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_uuid_str[0613051083A5478BB65C6A8DC2104E2F] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[None] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[25] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[3.14] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[v3] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[v4] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[abcdef] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[abcdefg] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[100017] tests/test_factories.py::TestStringFormatValidation::TestUUIDFormat::test_is_not_uuid_str[10017-383] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation[6281d852-ef4d-11e9-9002-4c327592fea9] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation[0e8d7ceb-56e8-36d2-9b54-ea48d4bdea3f] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation[c5a28680-986f-4f0d-8187-80d1fbe22059] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation[3BE59FF6-9C75-4027-B132-C9792D84547D] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation[10988ff4-136c-5ca7-ab35-a686a56c22c4] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[5_0] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[abcde] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[ABCDe] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[5_1] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[3.14] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[None] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[v7] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[v8] tests/test_factories.py::TestUUIDSpecValidation::test_uuid_validation_failure[v9] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_invalid_uuid_version_spec[versions0] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_invalid_uuid_version_spec[versions1] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_invalid_uuid_version_spec[versions2] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation[6281d852-ef4d-11e9-9002-4c327592fea9] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation[c5a28680-986f-4f0d-8187-80d1fbe22059] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation[3BE59FF6-9C75-4027-B132-C9792D84547D] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[0e8d7ceb-56e8-36d2-9b54-ea48d4bdea3f] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[10988ff4-136c-5ca7-ab35-a686a56c22c4] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[5_0] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[abcde] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[ABCDe] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[5_1] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[3.14] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[None] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[v9] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[v10] tests/test_factories.py::TestUUIDSpecValidation::TestUUIDVersionSpecValidation::test_uuid_validation_failure[v11]