From 5b76e4eace44067de30037f13c82f9c5218fb38e Mon Sep 17 00:00:00 2001 From: Mo Helmy <135069400+BenHelmyBen@users.noreply.github.com> Date: Thu, 18 Jan 2024 22:27:04 +0200 Subject: [PATCH] This PR is related to BAEL-7174 (#15681) * This PR is related to BAEL-7174 This PR aims to add a new test class "CheckIfStringContainsInvalidEncodedCharactersUnitTest". * Update CheckIfStringContainsInvalidEncodedCharactersUnitTest.java Updating if-else with ternary operator --- ...tainsInvalidEncodedCharactersUnitTest.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java b/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java new file mode 100644 index 0000000000..ffa7f54dd3 --- /dev/null +++ b/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java @@ -0,0 +1,33 @@ +package com.baeldung.checkifstringcontainsinvalidcharacters; + +import org.junit.jupiter.api.Test; + +import java.nio.charset.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class CheckIfStringContainsInvalidEncodedCharactersUnitTest { + + public String input = "HÆllo, World!"; + + @Test + public void givenInputString_whenUsingRegexPattern_thenFindIfInvalidCharacters() { + String regexPattern = "[^\\x00-\\x7F]+"; + Pattern pattern = Pattern.compile(regexPattern); + Matcher matcher = pattern.matcher(input); + assertTrue(matcher.find() ? true : false); + } + + @Test + public void givenInputString_whenUsingStringEncoding_thenFindIfInvalidCharacters() { + byte[] bytes = input.getBytes(StandardCharsets.UTF_8); + boolean found = false; + for (byte b : bytes) { + found = (b & 0xFF) > 127 ? true : found; + } + assertTrue(found ? true : false); + } +}