package com.levelup.java.string;
import static org.junit.Assert.assertEquals;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import com.google.common.base.Strings;
/**
* This java example will demonstrate finding
* common prefix between two strings.
*
* @author Justin Musgrove
* @see <a href='http://www.leveluplunch.com/java/examples/common-prefix-between-strings/'>Common prefix</a>
*
*/
public class CommonPrefixStrings {
@Test
public void find_common_prefix_between_strings_java () {
String phrase1 = "semicircle";
String phrase2 = "semiconductor";
String prefix = "";
int minLength = Math.min(phrase1.length(), phrase2.length());
for (int i = 0; i < minLength; i++) {
if (phrase1.charAt(i) != phrase2.charAt(i)) {
prefix = phrase1.substring(0, i);
break;
}
}
assertEquals("semic", prefix);
}
@Test
public void find_common_prefix_between_strings_guava (){
String phrase1 = "semicircle";
String phrase2 = "semiconductor";
String prefix = Strings.commonPrefix(phrase1, phrase2);
assertEquals("semic", prefix);
}
@Test
public void find_common_prefix_between_strings_apache_commons () {
String phrase1 = "semicircle";
String phrase2 = "semiconductor";
String prefix = StringUtils.getCommonPrefix(phrase1, phrase2);
assertEquals("semic", prefix);
}
}