コード例 #1
0
    def test_bv_errors(self, patched_decimals):
        asset_concept = Mock()
        asset_concept.qname = _ASSETS_CONCEPT
        liabilities_concept = Mock()
        liabilities_concept.qname = _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=2)

        mock_name_concepts_dict = {
            _ASSETS_CONCEPT: [asset_concept],
            _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 asset, liability in _assets_eq_liability_equity(modelXbrl):
            error_count += 1
            self.assertEqual(asset, asset_fact)
            self.assertEqual(liability, liabilities_fact)

        self.assertEqual(error_count, 1)

        mock_name_concepts_dict_no_liability = {
            _ASSETS_CONCEPT: [asset_concept],
            _LIABILITIES_CONCEPT: []
        }
        modelXbrl.nameConcepts = mock_name_concepts_dict_no_liability

        error_count = 0
        for asset, liability, date in _assets_eq_liability_equity(modelXbrl):
            error_count += 1
        self.assertEqual(error_count, 0)
コード例 #2
0
    def test_bv_None_context(self):
        asset_concept = Mock()
        asset_concept.qname = _ASSETS_CONCEPT
        liabilities_concept = Mock()
        liabilities_concept.qname = _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 = {
            _ASSETS_CONCEPT: [asset_concept],
            _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 asset, liability, date in _assets_eq_liability_equity(modelXbrl):
            error_count += 1
        self.assertEqual(error_count, 0)
コード例 #3
0
    def test_bv_errors(self, patched_decimals):
        asset_concept = Mock()
        asset_concept.qname = _ASSETS_CONCEPT
        liabilities_concept = Mock()
        liabilities_concept.qname = _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 = {
            _ASSETS_CONCEPT: [asset_concept],
            _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 asset, liability in _assets_eq_liability_equity(modelXbrl):
            error_count += 1
            self.assertEqual(asset, asset_fact)
            self.assertEqual(liability, liabilities_fact)

        self.assertEqual(error_count, 1)

        mock_name_concepts_dict_no_liability = {
            _ASSETS_CONCEPT: [asset_concept],
            _LIABILITIES_CONCEPT: []
        }
        modelXbrl.nameConcepts = mock_name_concepts_dict_no_liability

        error_count = 0
        for asset, liability, date in _assets_eq_liability_equity(modelXbrl):
            error_count += 1
        self.assertEqual(error_count, 0)
コード例 #4
0
    def test_bv_no_errors_duration(self):
        asset_concept = Mock()
        asset_concept.qname = _ASSETS_CONCEPT
        liabilities_concept = Mock()
        liabilities_concept.qname = _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 = {
            _ASSETS_CONCEPT: [asset_concept],
            _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 asset, liability, date in _assets_eq_liability_equity(modelXbrl):
            error_count += 1
        self.assertEqual(error_count, 0)