diff --git a/edtf_validate/valid_edtf.py b/edtf_validate/valid_edtf.py
index a4e0cdc..6648d02 100644
--- a/edtf_validate/valid_edtf.py
+++ b/edtf_validate/valid_edtf.py
@@ -529,7 +529,7 @@ def is_valid_interval(edtf_candidate):
 
 
 def isLevel0(edtf_candidate):
-    """Checks to see if the date is level 0 valid"""
+    """Check if the date is of a feature introduced in level 0."""
 
     if " " not in edtf_candidate:
         result = edtf_candidate == level0Expression
@@ -539,7 +539,7 @@ def isLevel0(edtf_candidate):
 
 
 def isLevel1(edtf_candidate):
-    """Checks to see if the date is level 1 valid"""
+    """Check if the date is of a feature introduced in level 1."""
 
     if " " not in edtf_candidate:
         result = edtf_candidate == level1Expression
@@ -549,7 +549,7 @@ def isLevel1(edtf_candidate):
 
 
 def isLevel2(edtf_candidate):
-    """Checks to see if the date is level 2 valid"""
+    """Check if the date is of a feature introduced in level 2."""
 
     if "[" in edtf_candidate or "{" in edtf_candidate:
         result = edtf_candidate == level2Expression
@@ -560,6 +560,25 @@ def isLevel2(edtf_candidate):
     return result
 
 
+def conformsLevel0(edtf_candidate):
+    """Check if the date is supported at level 0."""
+    return isLevel0(edtf_candidate)
+
+
+def conformsLevel1(edtf_candidate):
+    """Check if the date is supported at level 1."""
+    return isLevel0(edtf_candidate) or isLevel1(edtf_candidate)
+
+
+def conformsLevel2(edtf_candidate):
+    """Check if the date is supported at level 2."""
+    return(
+        isLevel0(edtf_candidate)
+        or isLevel1(edtf_candidate)
+        or isLevel2(edtf_candidate)
+    )
+
+
 def is_valid(edtf_candidate):
     """isValid takes a candidate date and returns if it is valid or not"""
     if (

diff --git a/tests/test_valid_edtf.py b/tests/test_valid_edtf.py
index 6d7dd17..003c098 100644
--- a/tests/test_valid_edtf.py
+++ b/tests/test_valid_edtf.py
@@ -1,7 +1,7 @@
 import pytest
 
-from edtf_validate.valid_edtf import (is_valid_interval, is_valid, isLevel0,
-                                      isLevel1, isLevel2)
+from edtf_validate.valid_edtf import (is_valid_interval, is_valid, isLevel0, isLevel1,
+                                      isLevel2, conformsLevel0, conformsLevel1, conformsLevel2)
 
 
 class TestIsValidInterval(object):
@@ -307,3 +307,69 @@ class TestLevel2(object):
     ])
     def test_invalid_level_2(self, date):
         assert not isLevel2(date)
+
+    @pytest.mark.parametrize('date', [
+        '1985',
+        '2004/2005',
+        '1985-04-12',
+        '1985-04-12T23:20:30Z',
+        '1985-04-12T23:20:30+04:30'
+    ])
+    def test_valid_conformsLevel0(self, date):
+        assert conformsLevel0(date)
+
+    @pytest.mark.parametrize('date', [
+        '-1984',
+        '19XX',
+        'Y-170000002',
+        '2001-21',
+        '1984?',
+        '1985-04/..',
+        '1985/',
+    ])
+    def test_invalid_conformsLevel0(self, date):
+        assert not conformsLevel0(date)
+
+    @pytest.mark.parametrize('date', [
+        '-1985',
+        '/1985-04-12',
+        '../1985-04-12',
+        '2004-XX',
+        '2004-06~',
+        '2001-21',
+        'Y-170000002',
+        '1985-04-12T23:20:30Z',
+        '2004-06/2006-08',
+        '1985-04'
+    ])
+    def test_valid_conformsLevel1(self, date):
+        assert conformsLevel1(date)
+
+    @pytest.mark.parametrize('date', [
+        'Y-17E7',
+        '2001-34',
+        '156X-12-25'
+    ])
+    def test_invalid_conformsLevel1(self, date):
+        assert not conformsLevel1(date)
+
+    @pytest.mark.parametrize('date', [
+        '-1985',
+        '/1985-04-12',
+        '../1985-04-12',
+        '2004-XX',
+        '2004-06~',
+        '2001-21',
+        'Y-170000002',
+        '1985-04-12T23:20:30Z',
+        '2004-06/2006-08',
+        '1985-04',
+        '156X-12-25',
+        '{1667,1668,1670..1672}',
+        '[1667,1668,1670..1672]',
+    ])
+    def test_valid_conformsLevel2(self, date):
+        assert conformsLevel2(date)
+
+    def test_invalid_conformsLevel2(self):
+        assert not conformsLevel2('[1667,1668, 1670..1672]')

Support checking level conformance and level is-a-feature-of
To facilitate the work on changes to the edtf-service described at: https://github.com/unt-libraries/django-edtf/issues/15, we will probably need to replace `isLevel0`, `isLevel1`, `isLevel2` with functionality that distinguishes if the date conforms to a specific level or is a feature of a specific level.
tests/test_valid_edtf.py::TestIsValidInterval::test_interval_malformed tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T10:10:1] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T1:10:10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T10:1:10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10t10:10:10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T10:10:10Z10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[1960-06-31] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[[1 tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_datetime tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1000/-0999] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1000/-0090-10] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1000/2000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1000/2000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[/2000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[/..] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[../] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[../1985-04] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2001-34] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2017-01-14/..] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000/0000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-02/1111] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-01/0000-01-03] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-01-13/0000-01-23] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1111-01-01/1111] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-01/0000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-XX/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1952-23~/1953] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1923-21/1924] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1981/1982-23] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1623-11/1900-11] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2003-22/2004-22] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2003-22/2003-22] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2003-22/2003-23] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-12-XX/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-XX-10/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-2000-XX-10/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-XX-XX/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000/2000-XX-XX] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1712/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[198X/199X] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[198X/1999] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1987/199X] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1984-11-2X/1999-01-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1984-11-12/1984-11-XX] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[198X-11-XX/198X-11-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1980-11-01/1989-11-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-XX-02/1919-XX-01_0] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-0X-02/1919-01-03] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1865-X2-02/1865-03-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1981-11-10/1980-11-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1930-X0-10/1930-10-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1981-1X-10/1981-11-09] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-12-02/1919-XX-04] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-11-02/1919-1X-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-09-02/1919-X0-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-08-02/1919-0X-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-10-02/1919-X1-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-04-01/1919-X4-02] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1602-10-0X/1602-10-02] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2018-05-X0/2018-05-11] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-2018-05-X0/2018-05-11] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1200-01-X4/1200-01-08] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-XX-02/1919-XX-01_1] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-07-30/1919-07-3X] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1908-05-02/1908-05-0X] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0501-11-18/0501-11-1X] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1112-08-22/1112-08-2X] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2015-02-27/2015-02-X8] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2016-02-28/2016-02-X9] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-2001-02-03] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012/2013/1234/55BULBASAUR] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[NONE/] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012///4444] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012\\2013] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2000/12-12] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012-24/2012-21] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012-23/2012-22] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0800/-0999] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[-1000/-2000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[1000/-2000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[Y-61000/-2000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0001/0000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0000-01-03/0000-01] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0000/-0001] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0000-02/0000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+20067890%0] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[Y2006] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[-0000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+Y20067890-14-10%] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+20067890%1] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+2006%] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2001-02-03] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2008-12] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2008] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[0000] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2001-02-03T09:30:01] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-01-01T10:10:10Z] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2012-10-10T10:10:10Z] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-01-01T10:10:10+05:00] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[1964/2008] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-06/2006-08] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-02-01/2005-02-08] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-02-01/2005-02] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-02-01/2005] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2005/2006-02] tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863- tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[ tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-03 tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-03- tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-03-29 tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[18 tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-0 tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[-1959] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-1984?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-06?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-06-11?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984%] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[199X] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[19XX] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-19XX] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1999-XX] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1999-01-XX] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1999-XX-XX] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-1999-XX-XX] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[/2006] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-06-01/] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2004-06-01/] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-01-01/..] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984~/2004-06] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984/2004-06~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984~/2004~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-1984?/2004%] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984-06?/2004-08?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984-06-02?/2004-08-08~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984-06-02?/] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[Y170000002] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[Y-170000002] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2001-21] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2003-22] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2003-22] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2000-23] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2010-24] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-06-11%] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-1985] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-1000/-0999] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2001-02-03] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2012-10-10T10:10:10Z] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2004-02-01/2005] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2004-06-01/..] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[../-2004-02-01] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2019-12/2020%] tests/test_valid_edtf.py::TestLevel1::test_invalid_level_1 tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004?-06-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06~-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-?06-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-?06-?11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-~11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[?2004-06-04~0] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-%06] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-?11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004?-06-~11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[?2004-06%] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004?-%06] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[?2004-06-04~1] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2011-06-~04] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2011-23~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004?-06-11_0] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004-06~-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004-?06-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004-?06-?11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004-06-~11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[?-2004-06-04~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004-%06] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004-06-?11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004?-06-~11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[?-2004-06%] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004?-%06] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[?-2004-06] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-1529-?09-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004?-06-11_1] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[%-2011-06-13] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[156X-12-25] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[15XX-12-25] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[15XX-12-XX] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-15XX-12-XX] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[1560-XX-25] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-1X32-X1-X2] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[..1760-12-03]] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[1760-12..]] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[1760-01,1760-02,1760-12..]] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[-1760-01,1760-02,1760-12..]] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[1667,1760-12]] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[{1667,1668,1670..1672}] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-~01/2004-06-~20_0] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[{1960,1961-12}] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-~01/2004-06-~20_1] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-XX/2004-07-03] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[Y17E7] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[Y-17E7] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[Y17101E4S3] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[1950S2] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[Y171010000S3] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2001-29] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2001-34] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2019-12/%2020] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-~01/2004-06-~20_2] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[%2001] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[1984?-06/2004-08?] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-1984-?06-02/2004-08-08~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[1984-06-?02/2004-06-11%] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2019-12/~2020] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-11%/2004-%06] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06~/2004-06-%11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[1984?/2004~-06] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[1960-06-31] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[[1 tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[[1667,1668, tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[196X] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[19XX] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-19XX] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[2001-21^southernHemisphere] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[Y170000002] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[Y-170000002] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-1998] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[2006%] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[1985-04/2020~] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[2019-12/2020%0] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-1984?/2004%] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[1984-06?/2004-08?] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-1984-06-02?/2004-08-08~] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[1984-06-02?/] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[2019-12/2020%1] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[2004-06-11%/2004-06~] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[2004-06~/2004-06-11%] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[1984?/2004-06~] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-2012-10-10T10:10:10Z] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-2001-02-03] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-1985] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[-1000/-0999] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel0[1985] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel0[2004/2005] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel0[1985-04-12] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel0[1985-04-12T23:20:30Z] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel0[1985-04-12T23:20:30+04:30] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel0[-1984] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel0[19XX] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel0[Y-170000002] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel0[2001-21] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel0[1984?] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel0[1985-04/..] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel0[1985/] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[-1985] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[/1985-04-12] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[../1985-04-12] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[2004-XX] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[2004-06~] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[2001-21] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[Y-170000002] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[1985-04-12T23:20:30Z] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[2004-06/2006-08] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel1[1985-04] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel1[Y-17E7] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel1[2001-34] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel1[156X-12-25] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[-1985] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[/1985-04-12] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[../1985-04-12] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[2004-XX] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[2004-06~] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[2001-21] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[Y-170000002] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[1985-04-12T23:20:30Z] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[2004-06/2006-08] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[1985-04] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[156X-12-25] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[{1667,1668,1670..1672}] tests/test_valid_edtf.py::TestLevel2::test_valid_conformsLevel2[[1667,1668,1670..1672]] tests/test_valid_edtf.py::TestLevel2::test_invalid_conformsLevel2