def test_default_progress(): buffer = BufferOutput() display = Display(stdout=buffer, stderr=buffer) progress = display.progressbar(range(100), epochs=10, file=buffer) progress.start() assert buffer.getvalue() == 'Epoch 1/10|▎ | 1/100 [ - it/sec]' progress.update(24) assert buffer.getvalue() == 'Epoch 1/10|████████▎ | 25/100 [ - it/sec]'
def test_buffero_stats(): buffer = BufferOutput() print("Accuracy: -", file=buffer) print("Validation Accuracy: -", file=buffer) print("", file=buffer) print("Training ...", file=buffer) buffer.write("\033[4A") print("Accuracy: 0.73", file=buffer) print("Validation Accuracy: 0.70", file=buffer) assert buffer.getvalue() == "Accuracy: 0.73\nValidation Accuracy: 0.70\n\nTraining ...\n"
def test_progress(): buffer = BufferOutput() progress = ProgressBar(range(100), file=buffer) progress.start() progress.update(1) time.sleep(0.001) progress.update(2) assert re.match(r' 3%\|█▏ \| 3/100 \[[0-9]+\.[0-9][0-9] it/sec\]', buffer.getvalue())
def test_buffero_too_far_down(): buffer = BufferOutput() buffer.write("Hello World!\033[12B!!\n") assert buffer.getvalue() == "Hello World!!!\n"
def test_buffero_cr(): buffer = BufferOutput() buffer.write("Hello World!\rHa\n") assert buffer.getvalue() == "Hallo World!\n"
def test_buffero_multiline(): buffer = BufferOutput() print("Hello World 1!", file=buffer) print("Hello World 2!", file=buffer) print("Hello World 3!", file=buffer) assert buffer.getvalue() == "Hello World 1!\nHello World 2!\nHello World 3!\n"
def test_buffero_long(): buffer = BufferOutput() print("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-YYYYYYYYYYYYYYYYYYYYY", file=buffer) assert buffer.getvalue() == "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"
def test_buffero(): buffer = BufferOutput() print("Hello World!", file=buffer) assert buffer.getvalue() == "Hello World!\n"