Added containsAnyIgnoreCase methods, and tests.

This commit is contained in:
Christian P. MOMON 2017-12-25 23:57:44 +01:00
parent fc2d92c25f
commit 8d8869f49f
2 changed files with 373 additions and 0 deletions

View file

@ -660,6 +660,51 @@ public class StringList extends ArrayList<String> implements CharSequence, Appen
return result; return result;
} }
/**
* Contains.
*
* @param target
* the target
* @return true, if successful
*/
public boolean contains(final CharSequence target)
{
boolean result;
if (super.contains(target))
{
result = true;
}
else
{
result = super.contains(target.toString());
}
//
return result;
}
/* (non-Javadoc)
* @see java.util.ArrayList#contains(java.lang.Object)
*/
@Override
public boolean contains(final Object target)
{
boolean result;
if (super.contains(target))
{
result = true;
}
else
{
result = super.contains(target.toString());
}
//
return result;
}
/** /**
* Contains any. * Contains any.
* *
@ -752,6 +797,98 @@ public class StringList extends ArrayList<String> implements CharSequence, Appen
return result; return result;
} }
/**
* Contains any ignore case.
*
* @param target
* the target
* @return true, if successful
*/
public boolean containsAnyIgnoreCase(final Collection<String> target)
{
boolean result;
if (target == null)
{
result = false;
}
else
{
boolean ended = false;
Iterator<String> iterator = target.iterator();
result = false;
while (!ended)
{
if (iterator.hasNext())
{
String current = iterator.next();
if (this.containsIgnoreCase(current))
{
ended = true;
result = true;
}
}
else
{
ended = true;
result = false;
}
}
}
//
return result;
}
/**
* Contains any ignore case.
*
* @param target
* the target
* @return true, if successful
*/
public boolean containsAnyIgnoreCase(final String... target)
{
boolean result;
if (target == null)
{
result = false;
}
else
{
boolean ended = false;
int index = 0;
result = false;
while (!ended)
{
if (index < target.length)
{
String current = target[index];
if (this.containsIgnoreCase(current))
{
ended = true;
result = true;
}
else
{
index += 1;
}
}
else
{
ended = true;
result = false;
}
}
}
//
return result;
}
/** /**
* Contains blank. * Contains blank.
* *
@ -822,6 +959,43 @@ public class StringList extends ArrayList<String> implements CharSequence, Appen
return result; return result;
} }
/**
* Contains ignore case.
*
* @param target
* the target
* @return true, if successful
*/
public boolean containsIgnoreCase(final CharSequence target)
{
boolean result;
boolean ended = false;
Iterator<String> iterator = iterator();
result = false;
while (!ended)
{
if (iterator.hasNext())
{
String line = iterator.next();
if (StringUtils.equalsIgnoreCase(target, line))
{
ended = true;
result = true;
}
}
else
{
ended = true;
result = false;
}
}
//
return result;
}
/** /**
* Contains null. * Contains null.
* *

View file

@ -209,6 +209,205 @@ public class StringListTest
this.logger.debug("===== test done."); this.logger.debug("===== test done.");
} }
/**
* Test contains 01.
*/
@Test
public void testContains01()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.contains("abc"));
Assert.assertTrue(buffer.contains("def"));
Assert.assertTrue(buffer.contains("ghi"));
Assert.assertFalse(buffer.contains("lmn"));
//
this.logger.debug("===== test done.");
}
/**
* Test contains 02.
*/
@Test
public void testContains02()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.contains(new StringBuffer().append("abc").toString()));
Assert.assertTrue(buffer.contains(new StringBuffer().append("def")));
Assert.assertTrue(buffer.contains(new StringBuffer().append("ghi")));
Assert.assertFalse(buffer.contains(new StringBuffer().append("lmn")));
//
this.logger.debug("===== test done.");
}
/**
* Test contains 02.
*/
@Test
public void testContains03()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.contains(new StringList().append("abc")));
Assert.assertTrue(buffer.contains(new StringList().append("def")));
Assert.assertTrue(buffer.contains(new StringList().append("ghi")));
Assert.assertFalse(buffer.contains(new StringList().append("lmn")));
//
this.logger.debug("===== test done.");
}
/**
* Test contains any 01.
*/
@Test
public void testContainsAny01()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.containsAny("abc"));
Assert.assertTrue(buffer.containsAny("def"));
Assert.assertTrue(buffer.containsAny("ghi"));
Assert.assertFalse(buffer.containsAny("aaa"));
//
this.logger.debug("===== test done.");
}
/**
* Test contains any 02.
*/
@Test
public void testContainsAny02()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.containsAny("aaa", "bbb", "abc"));
Assert.assertTrue(buffer.containsAny("aaa", "bbb", "def"));
Assert.assertTrue(buffer.containsAny("aaa", "bbb", "ghi"));
Assert.assertFalse(buffer.containsAny("aaa", "bbb", "ccc"));
//
this.logger.debug("===== test done.");
}
/**
* Test contains any 03.
*/
@Test
public void testContainsAny03()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.containsAny(new StringList("aaa", "bbb", "abc")));
Assert.assertTrue(buffer.containsAny(new StringList("aaa", "bbb", "def")));
Assert.assertTrue(buffer.containsAny(new StringList("aaa", "bbb", "ghi")));
Assert.assertFalse(buffer.containsAny(new StringList("aaa", "bbb", "aBc")));
Assert.assertFalse(buffer.containsAny(new StringList("aaa", "bbb", "ccc")));
//
this.logger.debug("===== test done.");
}
/**
* Test contains any 01.
*/
@Test
public void testContainsAnyIgnoreCase01()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.containsAnyIgnoreCase("aaa", "bbb", "abc"));
Assert.assertTrue(buffer.containsAnyIgnoreCase("aaa", "bbb", "dbf"));
Assert.assertTrue(buffer.containsAnyIgnoreCase("aaa", "bbb", "ghi"));
Assert.assertTrue(buffer.containsAnyIgnoreCase("aaa", "bbb", "Abc"));
Assert.assertTrue(buffer.containsAnyIgnoreCase("aaa", "bbb", "dEf"));
Assert.assertTrue(buffer.containsAnyIgnoreCase("aaa", "bbb", "ghI"));
Assert.assertFalse(buffer.containsAnyIgnoreCase("aaa", "bbb", "ccc"));
//
this.logger.debug("===== test done.");
}
/**
* Test contains any ignore case 02.
*/
@Test
public void testContainsAnyIgnoreCase02()
{
//
this.logger.debug("===== test starting...");
StringList buffer = new StringList();
buffer.append("abc");
buffer.append("def");
buffer.append("ghi");
Assert.assertTrue(buffer.containsAnyIgnoreCase(new StringList("aaa", "bbb", "abc")));
Assert.assertTrue(buffer.containsAnyIgnoreCase(new StringList("aaa", "bbb", "def")));
Assert.assertTrue(buffer.containsAnyIgnoreCase(new StringList("aaa", "bbb", "ghi")));
Assert.assertTrue(buffer.containsAnyIgnoreCase(new StringList("aaa", "bbb", "Abc")));
Assert.assertTrue(buffer.containsAnyIgnoreCase(new StringList("aaa", "bbb", "dEf")));
Assert.assertTrue(buffer.containsAnyIgnoreCase(new StringList("aaa", "bbb", "ghI")));
Assert.assertFalse(buffer.containsAnyIgnoreCase(new StringList("aaa", "bbb", "ccc")));
//
this.logger.debug("===== test done.");
}
/** /**
* Test iterator of char 01. * Test iterator of char 01.
*/ */