예제 #1
0
def test_crossword_crop():
    bloated_crossword = crossword.loads('      \n'
                                        '   c  \n'
                                        '   a  \n'
                                        ' hat  \n'
                                        '      \n'
                                        '      \n')
    bloated_crossword.crop()

    assert bloated_crossword == crossword.loads('  c\n' '  a\n' 'hat\n')
예제 #2
0
def test_crossword_getitem():
    cw_txt = ('j  \n' 'e  \n' 'żył\n')
    cw = crossword.loads(cw_txt)
    for y, line in enumerate(cw_txt.splitlines()):
        for x, c in enumerate(line):
            if c == ' ':
                c = '\x00'
            assert cw[y, x] == c
예제 #3
0
def test_crossword_multiple_writes():
    cw = crossword.Crossword.empty((3, 3))
    cw.write('cat', pos=(0, 2), vertical=True)
    cw.write('hat', pos=(2, 0), vertical=False)
    cw.write('mac', pos=(0, 0), vertical=False)

    assert cw == crossword.loads('mac\n' '  a\n' 'hat\n')
    assert cw.letter_overlaps == 2
예제 #4
0
def test_gen1_simplest():
    g = glossary.Glossary({
        'cat',
        'sad',
    })
    cw = gen.random_gen(g, r=random.Random(0))
    cw.crop()

    assert cw == crossword.loads(' s \n' 'cat\n' ' d \n')
예제 #5
0
def test_crossword_write_word():
    cw_6x5 = crossword.Crossword.empty((5, 6))
    cw_6x5.write("żółw", pos=(1, 2))

    assert cw_6x5 == crossword.loads('      \n'
                                     '  żółw\n'
                                     '      \n'
                                     '      \n'
                                     '      \n')
    assert cw_6x5.word_placements == {"żółw": (1, 2, False)}
예제 #6
0
def test_crossword_write_word_vertically():
    cw_5x6 = crossword.Crossword.empty((6, 5))
    cw_5x6.write("cat", pos=(2, 1), vertical=True)

    assert cw_5x6 == crossword.loads('     \n'
                                     '     \n'
                                     ' c   \n'
                                     ' a   \n'
                                     ' t   \n'
                                     '     \n')
    assert cw_5x6.word_placements == {"cat": (2, 1, True)}
예제 #7
0
def test_crossword_loads_empty():
    loaded = crossword.loads(crossword_string_10x5)
    assert loaded, crossword.Crossword.empty((5, 10))