package org.test4j.hamcrest.matcher.string; import org.junit.Test; import org.test4j.junit.Test4J; public class StringContainsInOrderTest extends Test4J { @Test public void testMatchesSafely() { String actual = "abcefg"; want.string(actual).containsInOrder("abc", "efg"); } @Test(expected = AssertionError.class) public void testMatchesSafely_failure() { String actual = "abcefg"; want.string(actual).containsInOrder("abc", "bce"); } /** * 在不忽略大小写的情况下,字符串"Abc Efg"并包含子串"abc","efg" */ @Test(expected = AssertionError.class) public void testContainsInOrder_NoModes() { String actual = "Abc Efg"; want.string(actual).containsInOrder(new String[] { "abc", "efg" }); } /** * 在忽略大小写的情况下,字符串"Abc Efg"包含子串"abc","efg" */ @Test public void testContainsInOrder_HasModes() { String actual = "Abc Efg"; want.string(actual).containsInOrder(new String[] { "abc", "efg" }, StringMode.IgnoreCase); } @Test(expected = AssertionError.class) public void testContainInOrder_ActualStringCanNotBeNull() { want.string(null).contains(""); } @Test public void testContainInOrder_SubStringCanNotBeNull() { try { want.string("").contains((String) null); throw new RuntimeException("error"); } catch (AssertionError e) { String message = e.getMessage(); want.string(message).contains("the sub string can't be null"); } } }