Example #1
0
def test_mode_accessor():
    """test mode accessor"""

    f = nexus(SIMPLE_TEXT, 's')
    assert f.mode == 's'

    f = nexus(SIMPLE_FILEPATH, 'r')
    assert f.mode == 'rU'
Example #2
0
def test_iterate():
    """iterate"""
    # first, from a string 
    for entry in nexus(SIMPLE_TEXT, 's'):
        assert isinstance(entry, dict)
    # next, from a filename
    for entry in nexus(SIMPLE_FILEPATH):
        assert isinstance(entry, dict)
Example #3
0
def test_basic_multi_entry_write():
    """try to write multiple entries"""

    entries = [{'name': 'a', 'sequence': 'A'}, {'name': 'g', 'sequence': 'G'}]
    f = nexus(os.devnull, 'a')
    f.write_entries(entries)
    f.close()
Example #4
0
def test_read_from_file():
    """read from a filename"""

    f = nexus(SIMPLE_FILEPATH, 'r')
    entries = f.read()
    f.close()
    assert 4 == len(entries)

    assert isinstance(entries[0], dict)
    assert 'Species1' == entries[0]['name']
    assert 15 == len(entries[0]['sequence'])

    assert isinstance(entries[1], dict)
    assert 'Species2' == entries[1]['name']
    assert 15 == len(entries[1]['sequence'])
Example #5
0
def test_read_from_multiline_file():
    """read from a file where the entries span multiple lines"""

    f = nexus(MULTILINE_FILEPATH, 'r')
    entries = f.read()
    f.close()
    assert 2 == len(entries)

    assert isinstance(entries[0], dict)
    assert 'Species1' == entries[0]['name']
    assert 30 == len(entries[0]['sequence'])

    assert isinstance(entries[1], dict)
    assert 'Species2' == entries[1]['name']
    assert 30 == len(entries[1]['sequence'])
Example #6
0
def test_read_from_file_handle():
    """read from an open file"""

    fh = open(SIMPLE_FILEPATH, 'r')
    f = nexus(fh, 'f')
    entries = f.readentries()
    f.close()
    assert 4 == len(entries)

    assert isinstance(entries[0], dict)
    assert 'Species1' == entries[0]['name']
    assert 15 == len(entries[0]['sequence'])

    assert isinstance(entries[1], dict)
    assert 'Species2' == entries[1]['name']
    assert 15 == len(entries[1]['sequence'])
Example #7
0
def test_read_from_string():
    """read a string of data"""

    # 's' is the 'string' mode
    f = nexus(SIMPLE_TEXT, 's')
    entries = f.readentries()
    f.close()
    print entries
    assert 4 == len(entries)

    assert isinstance(entries[0], dict)
    assert 'Species1' == entries[0]['name']
    assert 15 == len(entries[0]['sequence'])

    assert isinstance(entries[1], dict)
    assert 'Species2' == entries[1]['name']
    assert 15 == len(entries[1]['sequence'])
Example #8
0
def test_bad_value_to_write():
    """try to write entry without name"""

    f = nexus(os.devnull, 'a')
    f.write({'sequence': 'AGCT'})
    f.close()
Example #9
0
def test_bad_mode_option():
    """pass non-string to mode option"""

    f = nexus(SIMPLE_TEXT, 1)
Example #10
0
def test_bad_mode_string():
    """pass unknown mode string"""

    f = nexus(SIMPLE_TEXT, 'q')