def test_build_composed_block(): element = _build_xml(""" <ComposedBlock ID="cblock_1" HPOS="712" VPOS="129" WIDTH="235" HEIGHT="53"> <TextBlock ID="block_1" HPOS="712" VPOS="129" WIDTH="235" HEIGHT="53"> </TextBlock> </ComposedBlock> """) blocks = [TextBlock("block_1", 53, 235, 712, 129, [])] assert ComposedBlock.from_xml(element) == ComposedBlock( "cblock_1", 53, 235, 712, 129, blocks)
def test_page_extract_text_blocks(): assert Page("page_0", 2339, 1654, 0, None, []).extract_text_blocks() == [] assert Page("page_0", 2339, 1654, 0, None, [PrintSpace(1, 1, 1, 1, 1, [])]).extract_text_blocks() == [] block = ComposedBlock("", 1, 1, 1, 1, []) assert Page( "page_0", 2339, 1654, 0, None, [PrintSpace(1, 1, 1, 1, 1, [block])]).extract_text_blocks() == [] tb = TextBlock("", 1, 1, 1, 1, []) block = ComposedBlock("", 1, 1, 1, 1, [tb]) assert Page( "page_0", 2339, 1654, 0, None, [PrintSpace(1, 1, 1, 1, 1, [block])]).extract_text_blocks() == [tb]
def test_page_extract_lines(): assert Page("page_0", 2339, 1654, 0, None, []).extract_lines() == [] assert Page("page_0", 2339, 1654, 0, None, [PrintSpace(1, 1, 1, 1, 1, [])]).extract_lines() == [] block = ComposedBlock("", 1, 1, 1, 1, []) assert Page("page_0", 2339, 1654, 0, None, [PrintSpace(1, 1, 1, 1, 1, [block])]).extract_lines() == [] tb = TextBlock("", 1, 1, 1, 1, []) block = ComposedBlock("", 1, 1, 1, 1, [tb]) assert Page("page_0", 2339, 1654, 0, None, [PrintSpace(1, 1, 1, 1, 1, [block])]).extract_lines() == [] line = TextLine("", 1, 1, 1, 1, [String("", 1, 1, 1, 1, "", 0, [])]) tb = TextBlock("", 1, 1, 1, 1, [line]) block = ComposedBlock("", 1, 1, 1, 1, [tb]) page = Page("page_0", 2339, 1654, 0, None, [PrintSpace(1, 1, 1, 1, 1, [block])]) assert page.extract_lines() == [line]
def test_build_print_space(): element = _build_xml(""" <PrintSpace HPOS="0" VPOS="0" WIDTH="1654" HEIGHT="2339"> <ComposedBlock ID="cblock_1" HPOS="712" VPOS="129" WIDTH="235" HEIGHT="53"> </ComposedBlock> </PrintSpace> """) blocks = [ComposedBlock("cblock_1", 53, 235, 712, 129, [])] assert PrintSpace.from_xml(element) == PrintSpace(2339, 1654, 0, 0, None, blocks)
def _composed_blocks() -> ComposedBlock: return ComposedBlock("composed_block_1", 53, 235, 712, 129, [_text_block(), _text_block()])