import "package:arcane_helper_utils/arcane_helper_utils.dart"; import "package:test/test.dart"; void main() { group("JsonValue extensions", () { test("toJsonList serializes nested list values", () { final List nested = [ [ 1, 2, {"ok": true}, ], ]; final result = nested.toJsonList(); expect(result, isA>()); expect((result.first as List)[0], 1); expect( ((result.first as List)[2] as Map)["ok"], isTrue, ); }); test("toJsonMap serializes map keys and nested values", () { final map = { 123: "value", "nested": {"a": 1}, }; expect(map.toJsonMap().containsKey("123"), isTrue); expect( (map.toJsonMap()["nested"] as Map)["a"], 1, ); }); test("fromJsonMap decodes nested structures from Object?", () { final Object value = { "meta": { "list": [ {"x": 1}, ], }, }; final decoded = value.fromJsonMap(); final meta = decoded!["meta"]! as Map; final list = meta["list"]! as List; expect((list.first as Map)["x"], 1); }); test("toJsonValue and fromJsonValue round-trip primitives", () { const Object original = 42; final jsonValue = original.toJsonValue(); final decoded = jsonValue.fromJsonValue(); expect(decoded, 42); }); }); }