Exemplo n.º 1
0
def test_can_write_one_then_read_as_two():
    b = ByteStream()
    b.write(b"hello, world")
    read = b.read(6)
    assert read.tobytes() == b"hello,"
    read = b.read(6)
    assert read.tobytes() == b" world"
Exemplo n.º 2
0
def test_can_resume_reading_after_nothing_available():
    b = ByteStream()
    b.write(b"hello")
    b.read(5)
    read = b.read(1)
    assert read is None
    b.write(b"world")
    read = b.read(5)
    assert read.tobytes() == b"world"
Exemplo n.º 3
0
def test_can_write_several_then_read_across_boundaries():
    b = ByteStream()
    b.write(b"aaa")
    b.write(b"bbb")
    b.write(b"ccc")
    b.write(b"ddd")
    read = b.read(4)
    assert read.tobytes() == b"aaab"
    read = b.read(4)
    assert read.tobytes() == b"bbcc"
    read = b.read(4)
    assert read.tobytes() == b"cddd"
Exemplo n.º 4
0
def test_distance_changes_after_read():
    b = ByteStream()
    b.write(b"abcbca")
    distance = b.until(97)
    assert distance == 1
    distance = b.until(98)
    assert distance == 2
    distance = b.until(99)
    assert distance == 3
    b.read(3)
    distance = b.until(97)
    assert distance == 3
    distance = b.until(98)
    assert distance == 1
    distance = b.until(99)
    assert distance == 2
Exemplo n.º 5
0
def test_can_measure_how_much_available():
    b = ByteStream()
    assert b.available() == 0
    b.write(b"hello")
    assert b.available() == 5
    b.read(2)
    assert b.available() == 3
    b.read(2)
    assert b.available() == 1
    b.read(2)
    assert b.available() == 1
    b.read(1)
    assert b.available() == 0
Exemplo n.º 6
0
def test_reading_nothing_does_nothing():
    b = ByteStream()
    b.write(b"hello")
    assert b.available() == 5
    b.read(0)
    assert b.available() == 5
Exemplo n.º 7
0
def test_read_returns_none_if_not_enough_available():
    b = ByteStream()
    b.write(b"hello")
    read = b.read(10)
    assert read is None
Exemplo n.º 8
0
def test_read_returns_none_if_nothing_more_available():
    b = ByteStream()
    b.write(b"hello")
    b.read(5)
    read = b.read(1)
    assert read is None
Exemplo n.º 9
0
def test_read_returns_none_if_nothing_available():
    b = ByteStream()
    read = b.read(1)
    assert read is None
Exemplo n.º 10
0
def test_can_write_then_read_simple_stream():
    b = ByteStream()
    b.write(b"hello")
    read = b.read(5)
    assert read.tobytes() == b"hello"