package org.openhab.domain.util; import org.junit.Assert; import org.junit.Test; import org.openhab.domain.util.StringHandler; import java.util.Arrays; import java.util.List; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; /** * Created by Tony Alpskog in 2014. */ public class StringHandlerTest { @Test public void test_getStringListDiff() { //Arrange final List<String> source = Arrays.asList("ABBA", "BEATLES", "CESARS PALACE", "DIANA ROSS"); final List<String> target = Arrays.asList("CESARS PALACE", "ABBA"); //Act final List<String> result = StringHandler.getStringListDiff(source, target); //Assert assertThat(result.size(), is(equalTo(2))); assertThat(result.get(0), is(equalTo("BEATLES"))); assertThat(result.get(1), is(equalTo("DIANA ROSS"))); } @Test public void test_getLevenshteinDistance() { assertThat(StringHandler.getLevenshteinDistance("OUTDOOR", "OUTSIDE"), is(equalTo(4))); } @Test public void test_getLevenshteinPercent() { assertThat(StringHandler.getLevenshteinPercent("OUTDOOR", "OUTSIDE"), is(equalTo(42))); } @Test public void test_replaceSubStrings() { final String result = StringHandler.replaceSubStrings("One <two> three <four> five", "<", ">", "(.+)"); assertThat(result, is(equalTo("One (.+) three (.+) five"))); } @Test public void replaceSubStrings_givenSwitchOnUnitString_shouldReturnCorrectFormat() { final String result2 = StringHandler.replaceSubStrings("Switch on <unit>", "<", ">", "(.+)"); Assert.assertEquals("Switch on (.+)", result2); } @Test public void isNullOrEmpty_givenStringIsNotEmptyOrNull_shouldReturnFalse() { assertThat(StringHandler.isNullOrEmpty("fkl43"), is(false)); } @Test public void isNullOrEmpty_givenStringIsEmpty_shouldReturnTrue() { assertThat(StringHandler.isNullOrEmpty(""), is(true)); } @Test public void isNullOrEmpty_givenStringIsNull_shouldReturnTrue() { assertThat(StringHandler.isNullOrEmpty(null), is(true)); } }