1# -*- coding: utf-8 -*- 2"""Backwards compatibility for version 0.6.0.dev0 API.""" 3from __future__ import absolute_import 4import datatest 5from datatest.__past__ import api08 6from datatest.__past__ import api07 7from datatest.__past__ import api06 8from datatest import DataTestCase 9 10datatest.DataAssertionError = datatest.__past__.api07_error.DataError 11 12# Acceptances. 13DataTestCase.allowSpecified = DataTestCase.allowOnly 14DataTestCase.allowUnspecified = DataTestCase.allowAny 15DataTestCase.allowDeviationPercent = DataTestCase.allowPercentDeviation 16 17# Assertions. 18from .api06 import _assertDataCount 19DataTestCase.assertValueCount = _assertDataCount 20 21DataTestCase.assertColumnSet = DataTestCase.assertSubjectColumns 22DataTestCase.assertValueSet = DataTestCase.assertSubjectSet 23DataTestCase.assertValueSum = DataTestCase.assertSubjectSum 24DataTestCase.assertValueRegex = DataTestCase.assertSubjectRegex 25DataTestCase.assertValueNotRegex = DataTestCase.assertSubjectNotRegex 26 27 28def _assertColumnSubset(self, ref=None, msg=None): 29 """Test that the set of subject columns is a subset of reference 30 columns. If *ref* is provided, it is used in-place of the set 31 from ``referenceData``. 32 """ 33 try: 34 self.assertColumnSet(ref, msg) 35 except datatest.DataAssertionError: 36 with self.allowMissing(): 37 self.assertColumnSet(ref, msg) 38 39DataTestCase.assertColumnSubset = _assertColumnSubset 40 41 42def _assertColumnSuperset(self, ref=None, msg=None): 43 """Test that the set of subject columns is a superset of reference 44 columns. If *ref* is provided, it is used in-place of the set 45 from ``referenceData``. 46 """ 47 try: 48 self.assertColumnSet(ref, msg) 49 except datatest.DataAssertionError: 50 with self.allowExtra(): 51 self.assertColumnSet(ref, msg) 52 53DataTestCase.assertColumnSuperset = _assertColumnSuperset 54 55 56def _assertValueSubset(self, column, ref=None, msg=None, **filter_by): 57 """Test that the set of subject values is a subset of reference 58 values for the given *column*. If *ref* is provided, it is used 59 in place of the set from ``referenceData``. 60 """ 61 try: 62 self.assertValueSet(column, ref, msg, **filter_by) 63 except datatest.DataAssertionError: 64 with self.allowMissing(): 65 self.assertValueSet(column, ref, msg, **filter_by) 66 67DataTestCase.assertValueSubset = _assertValueSubset 68 69 70def _assertValueSuperset(self, column, ref=None, msg=None, **filter_by): 71 """Test that the set of subject values is a superset of reference 72 values for the given *column*. If *ref* is provided, it is used 73 in place of the set from ``referenceData``. 74 """ 75 try: 76 self.assertValueSet(column, ref, msg, **filter_by) 77 except datatest.DataAssertionError: 78 with self.allowExtra(): 79 self.assertValueSet(column, ref, msg, **filter_by) 80 81DataTestCase.assertValueSuperset = _assertValueSuperset 82