How to write JUnit test code in Java for the function String Palindrome check ?

This is the JUnit 5 solution to cover all kinds of inputs and outputs to check whether the given String is a Palindrome or not. This Unit test executes tests for the ‘StringPalindrome’ function available in the class ‘StringPalindromJunit5’.

package migrate;

import java.util.HashMap;

import org.junit.Assert;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

class StringPalindromJunit5 {

	Palindrome_Check_Using_LambdaExp PCUL;
	Palindrome_Check_Using_StringBuffer PCUSB;
	
	@BeforeEach
	void setUp() throws Exception {
		PCUL = new Palindrome_Check_Using_LambdaExp();
		PCUSB = new Palindrome_Check_Using_StringBuffer();
	}
	@Test
	@DisplayName("Postive inputs validation")
	void test1() {
		@SuppressWarnings("serial")
		HashMap<String, String> expHM = new HashMap<String, String>(){{ 
			put("TESET","yes");
			put("MINENIM","yes");
		}};
		
		HashMap<String,String> actualHM = PCUL.Palindrome("TESET");
		Assert.assertEquals(expHM.get("TESET"),actualHM.get("TESET"));
		
		actualHM = PCUSB.Palindrome("MINENIM");
		Assert.assertEquals(expHM.get("MINENIM"),actualHM.get("MINENIM"));
	}
	
	@Test
	@DisplayName("Negative inputs validation")
	void test2() {
		@SuppressWarnings("serial")
		HashMap<String, String> expHM = new HashMap<String, String>(){{ 
			put("TESET","no");
			put("MINENIM","no");
		}};
		
		HashMap<String,String> actualHM = PCUL.Palindrome("TESET");
		Assert.assertNotEquals(expHM.get("TESET"),actualHM.get("TESET"));
		
		actualHM = PCUSB.Palindrome("MINENIM");
		Assert.assertNotEquals(expHM.get("MINENIM"),actualHM.get("MINENIM"));
	}
	
	@Test
	@DisplayName("Null inputs validation")
	void test3() {
		@SuppressWarnings("serial")
		HashMap<String, String> expHM = new HashMap<String, String>(){{ 
			put(null,null);
		}};
		
		HashMap<String,String> actualHM = PCUL.Palindrome(null);
		Assert.assertEquals(expHM.get(null),actualHM.get(null));
		
		actualHM = PCUSB.Palindrome(null);
		Assert.assertEquals(expHM.get(null),actualHM.get(null));
	}
}
Output:
Mar. 16, 2024 3:42:13 P.M. migrate.Palindrome_Check_Using_LambdaExp Palindrome
INFO: This method Palindrome called from the class migrate.StringPalindromJunit5
Mar. 16, 2024 3:42:13 P.M. migrate.StringInput validateInput
INFO: This method validateInput called from migrate.Palindrome_Check_Using_LambdaExp
Palindrome Check Completed
The String= TESET is Palindrome
Mar. 16, 2024 3:42:13 P.M. migrate.Palindrome_Check_Using_StringBuffer Palindrome
INFO: This method Palindrome called from the class migrate.StringPalindromJunit5
Mar. 16, 2024 3:42:13 P.M. migrate.StringInput validateInput
INFO: This method validateInput called from migrate.Palindrome_Check_Using_StringBuffer
The String= MINENIM is Palindrome
Mar. 16, 2024 3:42:13 P.M. migrate.Palindrome_Check_Using_LambdaExp Palindrome
INFO: This method Palindrome called from the class migrate.StringPalindromJunit5
Mar. 16, 2024 3:42:13 P.M. migrate.StringInput validateInput
INFO: This method validateInput called from migrate.Palindrome_Check_Using_LambdaExp
Palindrome Check Completed
The String= TESET is Palindrome
Mar. 16, 2024 3:42:13 P.M. migrate.Palindrome_Check_Using_StringBuffer Palindrome
INFO: This method Palindrome called from the class migrate.StringPalindromJunit5
The String= MINENIM is Palindrome
Mar. 16, 2024 3:42:13 P.M. migrate.StringInput validateInput
INFO: This method validateInput called from migrate.Palindrome_Check_Using_StringBuffer
Mar. 16, 2024 3:42:13 P.M. migrate.Palindrome_Check_Using_LambdaExp Palindrome
INFO: This method Palindrome called from the class migrate.StringPalindromJunit5
Mar. 16, 2024 3:42:13 P.M. migrate.StringInput validateInput
INFO: This method validateInput called from migrate.Palindrome_Check_Using_LambdaExp
The given string is null

Mar. 16, 2024 3:42:13 P.M. migrate.Palindrome_Check_Using_StringBuffer Palindrome
INFO: This method Palindrome called from the class migrate.StringPalindromJunit5
Mar. 16, 2024 3:42:13 P.M. migrate.StringInput validateInput
INFO: This method validateInput called from migrate.Palindrome_Check_Using_StringBuffer
The given string is null