示例#1
0
def test_nth():
    l = list([1, 2, 3])
    i = iter([1, 2, 3])
    assert_that(nth(2, l)).is_equal_to(3)
    assert_that(nth(2, l)).is_equal_to(3)
    assert_that(nth(2, i)).is_equal_to(3)  #Can do only once for the iter
    assert_that(last(l)).is_equal_to(nth(len(l) - 1, l))
示例#2
0
def test_nth():
    assert nth(2, 'ABCDE') == 'C'
    assert nth(2, iter('ABCDE')) == 'C'
    assert nth(1, (3, 2, 1)) == 2
    assert nth(0, {'foo': 'bar'}) == 'foo'
    assert raises(StopIteration, lambda: nth(10, {10: 'foo'}))
    assert nth(-2, 'ABCDE') == 'D'
    assert raises(ValueError, lambda: nth(-2, iter('ABCDE')))
示例#3
0
def test_nth():
    assert nth(2, 'ABCDE') == 'C'
    assert nth(2, iter('ABCDE')) == 'C'
    assert nth(1, (3, 2, 1)) == 2
    assert nth(0, {'foo': 'bar'}) == 'foo'
    assert raises(StopIteration, lambda: nth(10, {10: 'foo'}))
    assert nth(-2, 'ABCDE') == 'D'
    assert raises(ValueError, lambda: nth(-2, iter('ABCDE')))
示例#4
0
 def nth(expr, env):
     try:
         return nth(expr.n, eval(expr.coll, env))
     except StopIteration:
         return None
示例#5
0
def gap_fill_ref(original_ref, new_ref, pileup_positions, offs, off_pos, off):
    raw_missings =  set(xrange(1, len(original_ref)+1)) - set(pileup_positions)
    missings = reduce(drop_gaps_because_insertion_offsets, izip(offs, off_pos), raw_missings)
    gap_filled = reduce(insert_gap, imap(lambda x: x - 1, missings),  new_ref)
    return nth(off, iterate(lambda s: s[:-1] if s[-1] == '-' else s, gap_filled))