def test_bv_errors(self, patched_decimals): """ Tests to see if errors right numher of errors are thrown """ asset_concept = Mock() asset_concept.qname = dqc_us_0004._ASSETS_CONCEPT liabilities_concept = Mock() liabilities_concept.qname = dqc_us_0004._LIABILITIES_CONCEPT mock_context = Mock(instantDatetime=datetime(2013, 12, 22, 11, 30, 59)) asset_fact = Mock(contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=1) liabilities_fact = Mock(contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=100) mock_name_concepts_dict = { dqc_us_0004._ASSETS_CONCEPT: [asset_concept], dqc_us_0004._LIABILITIES_CONCEPT: [liabilities_concept] } mock_facts_by_qname = { asset_concept.qname: [asset_fact], liabilities_concept.qname: [liabilities_fact] } model_xbrl = Mock(spec=arelle.ModelXbrl.ModelXbrl) model_xbrl.nameConcepts = mock_name_concepts_dict model_xbrl.factsByQname = mock_facts_by_qname error_count = 0 for fact in dqc_us_0004._assets_eq_liability_equity(model_xbrl): asset, liability = fact error_count += 1 self.assertEqual(asset, asset_fact) self.assertEqual(liability, liabilities_fact) self.assertEqual(error_count, 1) mock_name_concepts_dict_no_liability = { dqc_us_0004._ASSETS_CONCEPT: [asset_concept], dqc_us_0004._LIABILITIES_CONCEPT: [] } model_xbrl.nameConcepts = mock_name_concepts_dict_no_liability error_count = 0 for _ in dqc_us_0004._assets_eq_liability_equity(model_xbrl): error_count += 1 self.assertEqual(error_count, 0)
def test_bv_errors(self, patched_decimals): """ Tests to see if errors right numher of errors are thrown """ asset_concept = Mock() asset_concept.qname = dqc_us_0004._ASSETS_CONCEPT liabilities_concept = Mock() liabilities_concept.qname = dqc_us_0004._LIABILITIES_CONCEPT mock_context = Mock(instantDatetime=datetime(2013, 12, 22, 11, 30, 59)) asset_fact = Mock( contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=1 ) liabilities_fact = Mock( contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=100 ) mock_name_concepts_dict = { dqc_us_0004._ASSETS_CONCEPT: [asset_concept], dqc_us_0004._LIABILITIES_CONCEPT: [liabilities_concept] } mock_facts_by_qname = { asset_concept.qname: [asset_fact], liabilities_concept.qname: [liabilities_fact] } model_xbrl = Mock(spec=arelle.ModelXbrl.ModelXbrl) model_xbrl.nameConcepts = mock_name_concepts_dict model_xbrl.factsByQname = mock_facts_by_qname error_count = 0 for fact in dqc_us_0004._assets_eq_liability_equity(model_xbrl): asset, liability = fact error_count += 1 self.assertEqual(asset, asset_fact) self.assertEqual(liability, liabilities_fact) self.assertEqual(error_count, 1) mock_name_concepts_dict_no_liability = { dqc_us_0004._ASSETS_CONCEPT: [asset_concept], dqc_us_0004._LIABILITIES_CONCEPT: [] } model_xbrl.nameConcepts = mock_name_concepts_dict_no_liability error_count = 0 for _ in dqc_us_0004._assets_eq_liability_equity(model_xbrl): error_count += 1 self.assertEqual(error_count, 0)
def test_bv_None_context(self): asset_concept = Mock() asset_concept.qname = dqc_us_0004._ASSETS_CONCEPT liabilities_concept = Mock() liabilities_concept.qname = dqc_us_0004._LIABILITIES_CONCEPT asset_fact = Mock( contextID='valid', context=None, unitID='unit1', isNil=False, xValid=True, xValue=1 ) liabilities_fact = Mock( contextID='valid', context=None, unitID='unit1', isNil=False, xValid=True, xValue=2 ) mock_name_concepts_dict = { dqc_us_0004._ASSETS_CONCEPT: [asset_concept], dqc_us_0004._LIABILITIES_CONCEPT: [liabilities_concept] } mock_facts_by_qname = { asset_concept.qname: [asset_fact], liabilities_concept.qname: [liabilities_fact] } modelXbrl = Mock() modelXbrl.nameConcepts = mock_name_concepts_dict modelXbrl.factsByQname = mock_facts_by_qname error_count = 0 for _ in dqc_us_0004._assets_eq_liability_equity(modelXbrl): error_count += 1 self.assertEqual(error_count, 0)
def test_bv_no_errors_duration(self): """ Tests to see if no errors are thrown without a duration on fact """ asset_concept = Mock() asset_concept.qname = dqc_us_0004._ASSETS_CONCEPT liabilities_concept = Mock() liabilities_concept.qname = dqc_us_0004._LIABILITIES_CONCEPT mock_context = Mock(instantDatetime=None) asset_fact = Mock(contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=1) liabilities_fact = Mock(contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=2) mock_name_concepts_dict = { dqc_us_0004._ASSETS_CONCEPT: [asset_concept], dqc_us_0004._LIABILITIES_CONCEPT: [liabilities_concept] } mock_facts_by_qname = { asset_concept.qname: [asset_fact], liabilities_concept.qname: [liabilities_fact] } model_xbrl = Mock(spec=arelle.ModelXbrl.ModelXbrl) model_xbrl.nameConcepts = mock_name_concepts_dict model_xbrl.factsByQname = mock_facts_by_qname error_count = 0 for _ in dqc_us_0004._assets_eq_liability_equity(model_xbrl): error_count += 1 self.assertEqual(error_count, 0)
def test_bv_no_errors_duration(self): """ Tests to see if no errors are thrown without a duration on fact """ asset_concept = Mock() asset_concept.qname = dqc_us_0004._ASSETS_CONCEPT liabilities_concept = Mock() liabilities_concept.qname = dqc_us_0004._LIABILITIES_CONCEPT mock_context = Mock(instantDatetime=None) asset_fact = Mock( contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=1 ) liabilities_fact = Mock( contextID='valid', context=mock_context, unitID='unit1', isNil=False, xValid=True, xValue=2 ) mock_name_concepts_dict = { dqc_us_0004._ASSETS_CONCEPT: [asset_concept], dqc_us_0004._LIABILITIES_CONCEPT: [liabilities_concept] } mock_facts_by_qname = { asset_concept.qname: [asset_fact], liabilities_concept.qname: [liabilities_fact] } model_xbrl = Mock(spec=arelle.ModelXbrl.ModelXbrl) model_xbrl.nameConcepts = mock_name_concepts_dict model_xbrl.factsByQname = mock_facts_by_qname error_count = 0 for _ in dqc_us_0004._assets_eq_liability_equity(model_xbrl): error_count += 1 self.assertEqual(error_count, 0)