This commit related to the article BAEL-6877 (#14676)

This commit aims to add a new test class to convert a HashMap string into a HashMap object using toString().
This commit is contained in:
Mo Helmy 2023-09-04 13:12:03 +03:00 committed by GitHub
parent dcf2685179
commit c4c613b5a8
1 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,42 @@
package com.baeldung.map;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.assertEquals;
public class UsingtoStringUnitTest {
@Test
public void given_HashMapString_whenUsingtoString_thenConvertToHashMapObject() {
// Example string representation of a HashMap
String hashMapString = "{key1=value1, key2=value2, key3=value3}";
// Remove unnecessary characters
String keyValuePairs = hashMapString.replaceAll("[{}\\s]", "");
// Split into individual key-value pairs
String[] pairs = keyValuePairs.split(",");
// Create a new HashMap
HashMap<String, String> expectedHashMap = new HashMap<>();
expectedHashMap.put("key1", "value1");
expectedHashMap.put("key2", "value2");
expectedHashMap.put("key3", "value3");
HashMap<String, String> actualHashMap = new HashMap<>();
// Parse and populate the HashMap
for (String pair : pairs) {
String[] keyValue = pair.split("=");
if (keyValue.length == 2) {
actualHashMap.put(keyValue[0], keyValue[1]);
}
}
// Assert that the converted HashMap matches the expected one
assertEquals(expectedHashMap, actualHashMap);
}
}