def METHOD_NAME():
    path = get_sample('PE/PE64_x86-64_binary_ConsoleApplication1.exe')
    sample = lief.PE.parse(path)
    assert sample.has_debug
    for d in sample.debug:
        print(d)
    debug_code_view = list(filter(lambda deb: isinstance(deb, lief.PE.CodeViewPDB), sample.debug))
    assert len(debug_code_view) == 1
    code_view = cast(lief.PE.CodeViewPDB, debug_code_view[0])
    assert code_view.cv_signature == lief.PE.CodeView.SIGNATURES.PDB_70
    assert code_view.signature == [245, 217, 227, 182, 71, 113, 1, 79, 162, 3, 170, 71, 124, 74, 186, 84]
    assert code_view.age == 1
    assert code_view.filename == r"c:\users\romain\documents\visual studio 2015\Projects\HelloWorld\x64\Release\ConsoleApplication1.pdb"
    assert code_view.copy() == code_view
    assert hash(code_view.parent) == hash(code_view.copy().parent) # type: ignore
    assert isinstance(code_view.parent, lief.PE.CodeView)
    json_view = json.loads(lief.to_json(code_view))
    assert json_view == {
        'addressof_rawdata': 8996,
        'characteristics': 0,
        'age': 1,
        'cv_signature': 'PDB_70',
        'filename': r'c:\users\romain\documents\visual studio 2015\Projects\HelloWorld\x64\Release\ConsoleApplication1.pdb',
        'signature': [245, 217, 227, 182, 71, 113, 1, 79, 162, 3, 170, 71, 124, 74, 186, 84],
        'major_version': 0,
        'minor_version': 0,
        'pointerto_rawdata': 5412,
        'sizeof_data': 125,
        'timestamp': 1459952944,
        'type': 'CODEVIEW'
    }
    assert print(code_view) is None
    cv1 = lief.PE.CodeView()
    cv2 = lief.PE.CodeView(lief.PE.CodeView.SIGNATURES.CV_50)
    assert cv1.copy() != cv2