Files
mist/mist-test/src/items/struct_test.mist
T
2026-06-26 01:29:51 +02:00

62 lines
969 B
Plaintext

pub module struct_test;
struct Point {
i32 x,
i32 y,
}
pub void test_struct_create_access() {
let p = Point {
x: 10,
y: 20,
};
assert_eq!(p.x, 10);
assert_eq!(p.y, 20);
}
pub void test_struct_mut_field() {
let mut p = Point {
x: 1,
y: 2,
};
p.x = 100;
assert_eq!(p.x, 100);
}
pub void test_struct_destructure() {
let p = Point {
x: 3,
y: 4,
};
let Point {x, y} = p;
assert_eq!(x, 3);
assert_eq!(y, 4);
}
struct Line {
Point start,
Point end,
}
pub void test_struct_nested() {
let l = Line {
start: Point {
x: 0,
y: 0,
},
end: Point {
x: 5,
y: 10,
},
};
assert_eq!(l.start.x, 0);
assert_eq!(l.end.y, 10);
}
pub void run_tests() {
test_struct_create_access();
test_struct_mut_field();
test_struct_destructure();
test_struct_nested();
}