// Copyright © 2011-2013, Esko Luontola <www.orfjackal.net> // This software is released under the Apache License 2.0. // The license text is at http://www.apache.org/licenses/LICENSE-2.0 package fi.jumi.core.util; import org.junit.*; import org.junit.rules.ExpectedException; public class AssertsTest { @Rule public ExpectedException thrown = ExpectedException.none().handleAssertionErrors(); @Test public void passes_when_nothing_expected() { Asserts.assertContainsSubStrings("anything", new String[]{}); } @Test public void passes_when_equals() { Asserts.assertContainsSubStrings("needle", new String[]{"needle"}); } @Test public void passes_when_contains_one_substring() { Asserts.assertContainsSubStrings("before needle after", new String[]{"needle"}); } @Test public void passes_when_contains_many_substrings_next_to_each_other() { Asserts.assertContainsSubStrings("before needle1needle2 after", new String[]{"needle1", "needle2"}); } @Test public void passes_when_contains_many_sub_strings_with_something_in_between() { Asserts.assertContainsSubStrings("before needle1 something needle2 after", new String[]{"needle1", "needle2"}); } @Test public void fails_with_given_message_when_doesnt_contain_one_substring() { thrown.expect(AssertionError.class); thrown.expectMessage("failure message"); Asserts.assertContainsSubStrings("failure message", "something else", new String[]{"needle"}); } @Test public void fails_when_doesnt_contain_one_of_many_substrings() { thrown.expect(AssertionError.class); Asserts.assertContainsSubStrings("before needle after", new String[]{"needle", "missing"}); } @Test public void fails_when_doesnt_contain_repeated_instances_of_a_repeated_substrings() { thrown.expect(AssertionError.class); Asserts.assertContainsSubStrings("needle", new String[]{"needle", "needle"}); } @Test public void negated_version_passes_when_doesnt_contain_substring() { Asserts.assertNotContainsSubStrings("something else", new String[]{"needle"}); } @Test public void negated_version_fails_with_given_message_when_contains_substring() { thrown.expect(AssertionError.class); thrown.expectMessage("failure message"); Asserts.assertNotContainsSubStrings("failure message", "needle", new String[]{"needle"}); } }