From c80cdf0be91529347ef62938a417528ddbaea188 Mon Sep 17 00:00:00 2001 From: lamnhan066 Date: Mon, 25 Nov 2024 08:52:51 +0700 Subject: [PATCH] Add test for unimplemented IsolateType --- test/isolate_manager_shared_test.dart | 6 ++++++ test/models/user.dart | 30 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 test/models/user.dart diff --git a/test/isolate_manager_shared_test.dart b/test/isolate_manager_shared_test.dart index c4978da..4f42733 100644 --- a/test/isolate_manager_shared_test.dart +++ b/test/isolate_manager_shared_test.dart @@ -4,6 +4,7 @@ import 'package:isolate_manager/isolate_manager.dart'; import 'package:test/test.dart'; import '../test/isolate_manager_test.dart'; +import 'models/user.dart'; /* dart run isolate_manager:generate -i test -o test --shared --worker-mappings-experiment=test/isolate_manager_shared_test.dart @@ -204,6 +205,11 @@ void main() async { await isolates.stop(); }); + test('Unimplemented Type', () { + final user = User(name: 'user', email: 'user@user.com'); + expect(() => IsolateType.encode(user), throwsUnimplementedError); + }); + test('num', () async { final value = IsolateNum(15); diff --git a/test/models/user.dart b/test/models/user.dart new file mode 100644 index 0000000..b66d094 --- /dev/null +++ b/test/models/user.dart @@ -0,0 +1,30 @@ +import 'dart:convert'; + +class User { + User({ + required this.name, + required this.email, + }); + + factory User.fromMap(Map map) { + return User( + name: map['name'] as String, + email: map['email'] as String, + ); + } + + factory User.fromJson(String source) => + User.fromMap(json.decode(source) as Map); + + final String name; + final String email; + + Map toMap() { + return { + 'name': name, + 'email': email, + }; + } + + String toJson() => json.encode(toMap()); +}