mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-11 17:03:19 +01:00
73 lines
1.6 KiB
Plaintext
73 lines
1.6 KiB
Plaintext
|
import {test} from "tb_basic.script";
|
||
|
|
||
|
test("run", (args.length === 1 && args[0] === "OK"));
|
||
|
|
||
|
|
||
|
MAXPORTS = 20;
|
||
|
MAXPORTSIZE = 100;
|
||
|
|
||
|
for (i = 1; i <= MAXPORTS; ++i) {
|
||
|
clear(i);
|
||
|
}
|
||
|
|
||
|
//write
|
||
|
for (i = 1; i <= MAXPORTS; ++i) {
|
||
|
for (j = 1; j <= 5; ++j) {
|
||
|
write(i, j);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
for (i = 1; i <= MAXPORTS; ++i) {
|
||
|
port = getPortHandle(i);
|
||
|
test("write" + i, port.data.length === 5);
|
||
|
}
|
||
|
|
||
|
//read
|
||
|
for (i = 1; i <= MAXPORTS; ++i) {
|
||
|
for (j = 1; j <= 2; ++j) {
|
||
|
res = read(i);
|
||
|
test("read-p" + i + "-" + j, res === j);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
for (i = 1; i <= MAXPORTS; ++i) {
|
||
|
port = getPortHandle(i); //Check that read removes elements
|
||
|
test("readpops" + i, port.data.length === 3);
|
||
|
}
|
||
|
|
||
|
//peek
|
||
|
for (i = 1; i <= MAXPORTS; ++i) {
|
||
|
test("peek" + i, peek(i) === 3);
|
||
|
port = getPortHandle(i);
|
||
|
test("peeknopop" + i, port.data.length === 3);
|
||
|
}
|
||
|
|
||
|
//clear and empty
|
||
|
for (i = 1; i <= MAXPORTS; ++i) {
|
||
|
clear(i);
|
||
|
port = getPortHandle(i);
|
||
|
test("clear" + i, port.data.length === 0);
|
||
|
test("empty" + i, port.empty());
|
||
|
}
|
||
|
|
||
|
//Write so that the port is full (only port 1 for this)
|
||
|
for (i = 0; i < MAXPORTSIZE + 1; ++i) {
|
||
|
write(1, i)
|
||
|
}
|
||
|
|
||
|
//full
|
||
|
port = getPortHandle(1);
|
||
|
test("full", port.full());
|
||
|
test("notempty", !port.empty());
|
||
|
|
||
|
//tryWrite
|
||
|
firstElem = peek(1);
|
||
|
test("trywritefails", !port.tryWrite("foo"));
|
||
|
test("trywritenochange", peek(1) === firstElem);
|
||
|
read(1);
|
||
|
test("trywritesucceeds", port.tryWrite("foo"));
|
||
|
test("trywritewrites", port.data.pop() === "foo");
|
||
|
test("notfull", !port.full());
|
||
|
|
||
|
write("tb_results.txt", ",tb_ports");
|
||
|
run("tb_functions.script", 1, "OK");
|