diff --git a/assertj-core/src/test/java/org/assertj/core/api/AssertIntegrationTest.java b/assertj-core/src/test/java/org/assertj/core/api/AssertIntegrationTest.java new file mode 100644 index 00000000000..61958b2d5c6 --- /dev/null +++ b/assertj-core/src/test/java/org/assertj/core/api/AssertIntegrationTest.java @@ -0,0 +1,45 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * Copyright 2012-2025 the original author or authors. + */ +package org.assertj.core.api; + +import org.junit.jupiter.api.Test; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +class AssertIntegrationTest { + + // Simple immutable user object + record User(String name, int age) {} + + @Test + void should_assert_on_user_object_properties() { + User user = new User("Alice", 30); + + assertThat(user) + .extracting(User::name, User::age) // Pull out fields + .containsExactly("Alice", 30); // Check values in order + } + + @Test + void should_assert_on_a_list_of_users() { + List users = List.of( + new User("Alice", 30), + new User("Bob", 25) + ); + + assertThat(users) + .extracting(User::name) // Pull out names from the list + .containsExactly("Alice", "Bob"); // Check list contents match + } +} \ No newline at end of file diff --git a/assertj-core/src/test/java/org/assertj/core/api/StringAssertTest.java b/assertj-core/src/test/java/org/assertj/core/api/StringAssertTest.java new file mode 100644 index 00000000000..25ce9d13e22 --- /dev/null +++ b/assertj-core/src/test/java/org/assertj/core/api/StringAssertTest.java @@ -0,0 +1,45 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * Copyright 2012-2025 the original author or authors. + */ +package org.assertj.core.api; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class StringAssertTest { + + @Test + void should_pass_when_strings_are_equal_ignoring_case() { + assertThat("Hello").isEqualToIgnoringCase("hello"); + assertThat("AssertJ").isEqualToIgnoringCase("assertj"); + } + + @Test + void should_fail_when_strings_are_not_equal_ignoring_case() { + assertThat("Hello").isNotEqualToIgnoringCase("World"); + assertThat("AssertJ").isNotEqualToIgnoringCase("JUnit"); + } + + @Test + void should_pass_when_string_is_null_or_empty() { + String empty = ""; + String nullString = null; + assertThat(empty).isNullOrEmpty(); + assertThat(nullString).isNullOrEmpty(); + } + + @Test + void should_fail_when_string_is_not_null_or_empty() { + assertThat("AssertJ").isNotNull().isNotEmpty(); + } +} \ No newline at end of file