package org.test4j.hamcrest.iassert.object.impl; import org.test4j.hamcrest.matcher.string.StringMode; import org.test4j.testng.Test4J; import org.testng.annotations.Test; @Test(groups = { "test4j", "assertion" }) public class StringAssertTest extends Test4J { @Test public void testNotContain() { String tested = "i am tested string"; want.string(tested).notContain("is"); } @Test(expectedExceptions = AssertionError.class) public void testNotContain_fail() { String tested = "i am tested string"; want.string(tested).contains("tested"); want.string(tested).notContain("tested"); } @Test(expectedExceptions = AssertionError.class) public void testNotContain_fail2() { String tested = "i am tested string"; want.string(tested).not(the.string().contains("tested")); } @Test public void testNotBlank() { String tested = "i am tested string"; want.string(tested).notBlank(); } @Test(expectedExceptions = AssertionError.class) public void testNotBlank_fail() { String tested = " \t \n"; want.string(tested).notBlank(); } @Test public void testEqIgnorBlank() { want.string("i am string").eqWithStripSpace("i am string"); } @Test public void testEqIgnoreSpace() { want.string("i am a string").eqIgnoreSpace("iama string"); } @Test public void testContains() { want.string("===A\tb\nC====").contains("a b c", StringMode.IgnoreCase, StringMode.SameAsSpace); } @Test(expectedExceptions = AssertionError.class) public void testContains_failure() { want.string("===A\tb\nC====").contains("a b c", StringMode.IgnoreCase); } /** * 在忽略空格和大小写的情况下,实际字符串以abc结尾 */ @Test public void testEnd() { want.string("=====a b C").end("abc", StringMode.IgnoreCase, StringMode.IgnoreSpace); } /** * 在忽略空格和大小写的情况下,实际字符串以abc开头 */ @Test public void testStart() { want.string("a B C=====").start("abc", StringMode.IgnoreCase, StringMode.IgnoreSpace); } @Test public void testEqIgnoreCase() { want.string("Abc").eqIgnoreCase("aBc"); } @Test public void testIsEqualTo() { want.string("abc").isEqualTo("abc"); want.string("aBc").isEqualTo("Abc", StringMode.IgnoreCase); } @Test public void testContainsInOrder() { want.string("abc cde 123, 456").containsInOrder("abc", "123", "456"); } @Test(expectedExceptions = AssertionError.class) public void testContainsInOrder_Failure() { want.string("abc cde 123, 456").containsInOrder("abc", "456", "123"); } public void testStringIgnoreSpace_ChineseChar() { want.string("我是 中文 ").isEqualTo("我是中文 ", StringMode.IgnoreSpace); } public void testStringSameSpace_ChineseChar() { want.string("我是 中文").isEqualTo("我是 中文", StringMode.SameAsSpace); } /** * 希望字符串不包含子串"abc"和"efg",但实际上包含了"abc",断言会抛出错误 */ @Test(expectedExceptions = AssertionError.class) public void testNotContains_Failure() { want.string("abc cba").notContain(new String[] { "abc", "efg" }); } /** * 希望字符串不包含子串"acb"和"efg",实际上也不包含,断言通过 */ public void testNotContains() { want.string("abc cba").notContain(new String[] { "acb", "efg" }); } }