"""Unit tests for the AdjustmentsValidationData class.""" from abacus_common_logic.adjustments_validation.adjustments_validation_data import ( AdjustmentsValidationData, ) def test_add_account_id(): """Test adding an account ID.""" obj = AdjustmentsValidationData() assert obj.account_ids == set() obj.add_account_id('1') assert obj.account_ids == {'1'} def test_add_account_contract_mapping(): """Test adding an item to the account contract map.""" obj = AdjustmentsValidationData() assert obj.account_contract_map == {} obj.add_account_contract_mapping('1', '1') assert len(obj.account_contract_map) == 1 assert len(obj.account_contract_map['1']) == 1 assert '1' in obj.account_contract_map['1'] obj.add_account_contract_mapping('1', '11') assert len(obj.account_contract_map) == 1 assert len(obj.account_contract_map['1']) == 2 assert '1' in obj.account_contract_map['1'] assert '11' in obj.account_contract_map['1'] obj.add_account_contract_mapping('2', '2') assert len(obj.account_contract_map) == 2 assert len(obj.account_contract_map['1']) == 2 assert len(obj.account_contract_map['2']) == 1 assert '2' in obj.account_contract_map['2'] def test_add_upc(): """Test adding an UPC.""" obj = AdjustmentsValidationData() assert obj.upcs == set() obj.add_upc('111122223333') assert obj.upcs == {'111122223333'} def test_add_account_upc_mapping(): """Test adding an item to the account upc map.""" obj = AdjustmentsValidationData() assert obj.account_upc_map == {} obj.add_account_upc_mapping('1', '1') assert len(obj.account_upc_map) == 1 assert len(obj.account_upc_map['1']) == 1 assert '1' in obj.account_upc_map['1'] obj.add_account_upc_mapping('1', '11') assert len(obj.account_upc_map) == 1 assert len(obj.account_upc_map['1']) == 2 assert '1' in obj.account_upc_map['1'] assert '11' in obj.account_upc_map['1'] obj.add_account_upc_mapping('2', '2') assert len(obj.account_upc_map) == 2 assert len(obj.account_upc_map['1']) == 2 assert len(obj.account_upc_map['2']) == 1 assert '2' in obj.account_upc_map['2'] def test_add_account_contract_upc_mapping(): """Test adding an item to the account contract upc map.""" obj = AdjustmentsValidationData() assert obj.account_contract_upc_map == {} obj.add_account_contract_upc_mapping('1', '1', '1') assert len(obj.account_contract_upc_map) == 1 assert len(obj.account_contract_upc_map['1']) == 1 assert len(obj.account_contract_upc_map['1']['1']) == 1 assert '1' in obj.account_contract_upc_map['1']['1'] obj.add_account_contract_upc_mapping('1', '1', '11') assert len(obj.account_contract_upc_map) == 1 assert len(obj.account_contract_upc_map['1']) == 1 assert len(obj.account_contract_upc_map['1']['1']) == 2 assert '1' in obj.account_contract_upc_map['1']['1'] assert '11' in obj.account_contract_upc_map['1']['1'] obj.add_account_contract_upc_mapping('1', '2', '2') assert len(obj.account_contract_upc_map) == 1 assert len(obj.account_contract_upc_map['1']) == 2 assert len(obj.account_contract_upc_map['1']['2']) == 1 assert '2' in obj.account_contract_upc_map['1']['2'] obj.add_account_contract_upc_mapping('2', '3', '3') assert len(obj.account_contract_upc_map) == 2 assert len(obj.account_contract_upc_map['1']) == 2 assert len(obj.account_contract_upc_map['2']) == 1 assert '3' in obj.account_contract_upc_map['2']['3'] def test_add_statement_year(): """Test adding a statement year.""" obj = AdjustmentsValidationData() assert obj.statement_years == set() obj.add_statement_year('2025') assert obj.statement_years == {'2025'} def test_get_contract_ids(): """Test getting a list of contract IDs.""" obj = AdjustmentsValidationData() obj.account_contract_map = {'1': {'1', '11'}, '2': {'2'}} results = obj.get_contract_ids() assert len(results) == 3 assert '1' in results assert '11' in results assert '2' in results def test_get_contract_account_map(): """Test getting a contract account map.""" obj = AdjustmentsValidationData() obj.account_contract_map = {'1': {'1', '11'}, '2': {'2'}} results = obj.get_contract_account_map() assert results == { '1': '1', '11': '1', '2': '2', }