Пример #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"
Пример #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"
Пример #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"
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #9
0
def test_read_returns_none_if_nothing_available():
    b = ByteStream()
    read = b.read(1)
    assert read is None
Пример #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"