getValueUnitTest method
Implementation
String getValueUnitTest(
String key,
dynamic value,
String suffix,
String parent,
String asImport, [
String? parentList,
]) {
final variable = key.camelCase;
if (value is Map) {
final apiClassName = ModelClassNameHelper.getClassName(
listClassNameUnitTest,
suffix,
key.pascalCase,
false,
true,
parent,
parentList,
);
List<String> children = [];
value.forEach((key, child) {
if (child is Map) {
children.add(getValueUnitTest(key.toString(), child, suffix,
apiClassName, asImport, parentList));
}
});
value.forEach((key, child) {
if (child is List) {
children.add(getValueUnitTest(key.toString(), child, suffix,
apiClassName, asImport, parentList));
}
});
value.forEach((key, child) {
if (child is! List && child is! Map) {
children.add(getValueUnitTest(key.toString(), child, suffix,
apiClassName, asImport, parentList));
}
});
return '$variable: $asImport.$apiClassName(${children.join(',')})';
}
if (value is List) {
if (value.isNotEmpty) {
if (value.first is Map) {
String list = '[';
final apiClassName = ModelClassNameHelper.getClassName(
listClassNameUnitTest,
suffix,
key.pascalCase,
false,
true,
parent,
parentList != null ? parentList + parent : parent,
);
final parentOfChild =
parentList != null ? parentList + apiClassName : apiClassName;
for (var element in value) {
List<String> children = [];
final value = element as Map;
value.forEach((key, child) {
if (child is Map) {
children.add(getValueUnitTest(key.toString(), child, suffix,
apiClassName, asImport, parentOfChild));
}
});
value.forEach((key, child) {
if (child is List) {
children.add(getValueUnitTest(key.toString(), child, suffix,
apiClassName, asImport, parentOfChild));
}
});
value.forEach((key, child) {
if (child is! List && child is! Map) {
children.add(getValueUnitTest(key.toString(), child, suffix,
apiClassName, asImport, parentOfChild));
}
});
list += '$asImport.$apiClassName(${children.join(',')}),';
}
list += ']';
return '$variable: $list';
} else if (value.first is String) {
return '$variable: [${value.map((e) => "'$e'").join(',')}]';
} else {
return '$variable: [${value.join(',')}]';
}
} else {
return '$variable: []';
}
}
if (value is String) {
if (RegExp(r'^\d{4}-\d{2}-\d{2}(\s|T)?(\d{2}:\d{2}(:\d{2})?)?(\.\d+)?Z?$')
.hasMatch(value)) {
return '$variable: ${"DateTime.tryParse('$value')"}';
}
return "$variable: '$value'";
}
return '$variable: ${value.toString()}';
}