def test_format_report(self): report = FileReport( file_name=Path('syntaxTests/scoping/library_inherited2.sol'), contract_reports=[ ContractReport( contract_name='A', file_name=Path('syntaxTests/smoke_test.sol'), bytecode=None, metadata=None, ), ContractReport( contract_name='B', file_name=Path('syntaxTests/smoke_test.sol'), bytecode=None, metadata='{"language":"Solidity"}', ), ContractReport( contract_name='Lib', file_name=Path('syntaxTests/smoke_test.sol'), bytecode='60566050600b828282398051', metadata=None, ), ]) expected_output = ( "syntaxTests/scoping/library_inherited2.sol:A <NO BYTECODE>\n" "syntaxTests/scoping/library_inherited2.sol:A <NO METADATA>\n" "syntaxTests/scoping/library_inherited2.sol:B <NO BYTECODE>\n" "syntaxTests/scoping/library_inherited2.sol:B {\"language\":\"Solidity\"}\n" "syntaxTests/scoping/library_inherited2.sol:Lib 60566050600b828282398051\n" "syntaxTests/scoping/library_inherited2.sol:Lib <NO METADATA>\n") self.assertEqual(report.format_report(), expected_output)
def test_format_report_should_print_error_if_contract_report_list_is_missing( self): report = FileReport(file_name=Path('file.sol'), contract_reports=None) expected_output = "file.sol: <ERROR>\n" self.assertEqual(report.format_report(), expected_output)
def test_format_report_should_not_print_anything_if_contract_report_list_is_empty( self): report = FileReport(file_name=Path('file.sol'), contract_reports=[]) self.assertEqual(report.format_report(), '')