47 lines
1 KiB
Gleam
47 lines
1 KiB
Gleam
import gleeunit
|
|
import sim/device
|
|
import sim/memory
|
|
|
|
pub fn main() -> Nil {
|
|
gleeunit.main()
|
|
}
|
|
|
|
// gleeunit test functions end in `_test`
|
|
pub fn hello_world_test() {
|
|
let name = "Joe"
|
|
let greeting = "Hello, " <> name <> "!"
|
|
|
|
assert greeting == "Hello, Joe!"
|
|
}
|
|
|
|
pub fn pad_test() {
|
|
assert <<1, 2, 3, 0>> == memory.pad_to_length(<<1, 2, 3>>, 32)
|
|
}
|
|
|
|
pub fn insert_test() {
|
|
assert <<1, 2, 3, 4>> == memory.insert_at(<<1, 2, 3>>, 3, <<4>>)
|
|
assert <<1, 2, 3, 0, 5>> == memory.insert_at(<<1, 2, 3>>, 4, <<5>>)
|
|
assert <<1, 67, 3>> == memory.insert_at(<<1, 2, 3>>, 1, <<67>>)
|
|
}
|
|
|
|
pub fn open_test() {
|
|
let d0 = device.open("0")
|
|
device.close(d0)
|
|
}
|
|
|
|
pub fn test_device_test() {
|
|
let d1 = device.open("1")
|
|
assert <<>> == device.read(d1).0
|
|
let d1 = device.test_device(d1)
|
|
assert d1.has_data == True
|
|
let #(char, d1) = device.read(d1)
|
|
assert <<"a">> == char
|
|
assert d1.has_data == False
|
|
assert <<>> == device.read(d1).0
|
|
device.close(d1)
|
|
|
|
let d0 = device.open("0")
|
|
let d0 = device.test_device(d0)
|
|
assert d0.has_data == False
|
|
device.close(d0)
|
|
}
|