mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 20:11:17 +00:00
24 lines
724 B
C
24 lines
724 B
C
module object_test @test;
|
|
import std::collections::object;
|
|
|
|
fn void test_general()
|
|
{
|
|
Object* root = object::new_obj();
|
|
root.set("foo", 1);
|
|
root.set("bar", "baz");
|
|
assert(root.get_int("foo")! == 1);
|
|
assert(root.get_string("bar")! == "baz");
|
|
Object* goo = root.set("goo", object::new_obj());
|
|
goo.append("hello");
|
|
goo.append(132);
|
|
assert(root.get("goo").get_int_at(1)! == 132);
|
|
assert(root.get("goo").get_string_at(0)! == "hello");
|
|
Object* abc = root.get_or_create_obj("abc80");
|
|
abc.set("cool", 1.3);
|
|
assert(root.get("abc80").get_int("cool")! == 1);
|
|
assert(root.get("abc80").get_float("cool")! == 1.3);
|
|
assert((root.get_int("yyy") ?? -1) == -1);
|
|
root.set("yyy", true);
|
|
assert(root.get_bool("yyy") ?? false);
|
|
}
|