All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nablarch.test.IgnoringLS Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version
package nablarch.test;

import org.hamcrest.BaseMatcher;

import nablarch.core.util.annotation.Published;

/**
 * 改行コードの種類を無視するorg.hamcrest.Matcher実装クラス。
*

 * assertThat("foo\r\n", IgnoringLS.equals("foo\r")); //--> success
 * assertThat("foo\r\n", IgnoringLS.equals("foo"));   //--> fail
 * 
* @author T.Kawasaki */ @Published public final class IgnoringLS { /** プライベートコンストラクタ */ private IgnoringLS() { } /** * 改行の種類以外が等しいことを表明するMatcherを返却する。 * * @param expected 期待する値 * @return org.hamcrest.Matcher */ public static BaseMatcher equals(String expected) { return (expected == null) ? new NullMatcher() : new EqualsIgnoreLS(expected); } /** * 改行コードの種類を無視して、実際の値が期待値を含むことを * 表明するMatcherを返却する。 * * @param expected 期待する値 * @return org.hamcrest.Matcher */ public static BaseMatcher contains(String expected) { return (expected == null) ? new NullMatcher() : new ContainsIgnoreLS(expected); } /** * 改行の種類以外が等しいことを表明するMatcherクラス。
* * @author T.Kawasaki */ public static final class EqualsIgnoreLS extends AbstractStringMatcher { /** * コンストラクタ。 * * @param expected 期待値 */ private EqualsIgnoreLS(String expected) { super(toLf(expected)); } /** {@inheritDoc} */ @Override protected boolean doMatches(String actual) { return getExpected().equals(toLf(actual)); } } /** * 改行コードの種類を無視して、実際の値が期待値を含むことを * 表明するMatcherクラス。
* * @author T.Kawasaki */ public static final class ContainsIgnoreLS extends AbstractStringMatcher { /** * コンストラクタ。 * * @param expected 期待値 */ private ContainsIgnoreLS(String expected) { super(toLf(expected)); } /** {@inheritDoc} */ @Override protected boolean doMatches(String actual) { return toLf(actual).contains(getExpected()); } } /** * 改行コードをLFに変換する。 * * @param orig 元の文字列 * @return 改行コードがLFに変換された文字列 */ private static String toLf(String orig) { return orig.replaceAll("\r\n", "\n").replaceAll("\r", "\n"); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy