import 'package:json_god/json_god.dart' as god; import 'package:test/test.dart'; import 'shared.dart'; main() { god.logger.onRecord.listen(printRecord); test('fromJson', () { var foo = god.deserialize('{"bar":"baz"}', outputType: Foo) as Foo; expect(foo is Foo, true); expect(foo.text, equals('baz')); }); test('toJson', () { var foo = new Foo(text: 'baz'); var data = god.serializeObject(foo); expect(data, equals({'bar': 'baz', 'foo': 'poobaz'})); }); } class Foo { String? text; String get foo => 'poo$text'; Foo({this.text}); factory Foo.fromJson(Map json) => new Foo(text: json['bar'].toString()); Map toJson() => {'bar': text, 'foo': foo}; }