Теперь тесты точно работают

This commit is contained in:
2025-12-06 15:56:43 +03:00
parent c76be5f222
commit 3bf34bd883

View File

@@ -1,4 +1,5 @@
import gleam/int import gleam/int
import gleam/io
import gleam/list import gleam/list
import gleam/option import gleam/option
import gleam/order import gleam/order
@@ -28,23 +29,25 @@ fn string_equal(a: String, b: String) -> Bool {
// Генерация случайных данных // Генерация случайных данных
fn gk() -> Int { fn gk() -> Int {
int.random(1000) - 500 int.random(10_000) - 5000
} }
fn gv() -> String { fn gv() -> String {
let length = int.random(32) let length = int.random(64)
let generator: random.Generator(Int) = random.int(97, 122) let generator: random.Generator(Int) = random.int(97, 122)
let seed = seed.new(42)
// random string of given length // random string of given length
string.join( let string =
list.repeat("", length) string.join(
|> list.map(fn(_) { list.repeat("", length)
let code = random.sample(generator, seed) |> list.map(fn(_) {
let assert Ok(cp) = string.utf_codepoint(code) let code = random.sample(generator, seed.random())
string.from_utf_codepoints([cp]) let assert Ok(cp) = string.utf_codepoint(code)
}), string.from_utf_codepoints([cp])
"", }),
) "",
)
io.println("Generating rnd s:" <> string)
string
} }
/// Тест создания пустого дерева /// Тест создания пустого дерева
@@ -239,7 +242,7 @@ pub fn monoid_left_identity_test() {
let result = lab2.concat(lab2.empty(), tree, int_compare) let result = lab2.concat(lab2.empty(), tree, int_compare)
lab2.equal(tree, result, int_equal, string_equal) |> should.be_true lab2.semantic_equal(tree, result, int_compare, string_equal) |> should.be_true
} }
/// Тест нейтрального элемента (правая единица) /// Тест нейтрального элемента (правая единица)
@@ -255,7 +258,7 @@ pub fn monoid_right_identity_test() {
let result = lab2.concat(tree, lab2.empty(), int_compare) let result = lab2.concat(tree, lab2.empty(), int_compare)
lab2.equal(tree, result, int_equal, string_equal) |> should.be_true lab2.semantic_equal(tree, result, int_compare, string_equal) |> should.be_true
} }
/// Тест ассоциативности /// Тест ассоциативности