toInactivatedJson method

  1. @override
Map<String, dynamic> toInactivatedJson()
inherited

test 時に 等価比較が行えるように 一部の property 値を無効化する(一定の値に変更する)処理を加えた json を出力する.
例えば process id など, system によって割り振られる値をこちらで指定できないので このような場合に利用する.

Implementation

@override
Map<String, dynamic> toInactivatedJson() {

    const lessThan = '<';
    final type = runtimeType.toString();
    late final String head;

    final index = type.indexOf(lessThan);
    if (index == -1) {
        head = type;
    } else {
        head = type.substring(0, index);
    }

    final edited = properties.entries.map((e) {
        final value = e.value;
        if (value is ToInactivatedJsonSignature) return MapEntry(e.key, value.toInactivatedJson());
        return MapEntry(e.key, value);
    });

    return {
        head: Map.fromEntries(edited),
    };

}