blob: 7c3cecc892628eeff27674b3da4c0633323f6123 [file] [log] [blame]
/*
* Copyright 2013-present Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package com.facebook.buck.util;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class MoreStringsTest {
@Test
public void testIsEmpty() {
assertTrue(MoreStrings.isEmpty(""));
assertTrue(MoreStrings.isEmpty(new StringBuilder()));
assertFalse(MoreStrings.isEmpty("text"));
assertFalse(MoreStrings.isEmpty(new StringBuilder("text")));
}
@Test(expected = NullPointerException.class)
public void testIsEmptyRejectsNull() {
MoreStrings.isEmpty(null);
}
@Test
public void testWithoutSuffix() {
assertEquals("abc", MoreStrings.withoutSuffix("abcdef", "def"));
assertEquals("", MoreStrings.withoutSuffix("abcdef", "abcdef"));
}
@Test
public void testCapitalize() {
assertEquals("Foo", MoreStrings.capitalize("foo"));
assertEquals("F", MoreStrings.capitalize("f"));
assertEquals("", MoreStrings.capitalize(""));
}
@Test(expected = NullPointerException.class)
public void testCapitalizeRejectsNull() {
MoreStrings.capitalize(null);
}
@Test
public void testGetLevenshteinDistance() {
assertEquals(
"The distance between '' and 'BUILD' should be 5 (e.g., 5 insertions).",
5,
MoreStrings.getLevenshteinDistance("", "BUILD"));
assertEquals(
"'BUILD' and 'BUILD' should be identical.",
0,
MoreStrings.getLevenshteinDistance("BUILD", "BUILD"));
assertEquals(
"The distance between 'BIULD' and 'BUILD' should be 2 (e.g., 1 deletion + 1 insertion).",
2,
MoreStrings.getLevenshteinDistance("BIULD", "BUILD"));
assertEquals(
"The distance between 'INSTALL' and 'AUDIT' should be 7 (e.g., 5 substitutions + 2 deletions).",
7,
MoreStrings.getLevenshteinDistance("INSTALL", "AUDIT"));
assertEquals(
"The distance between 'aaa' and 'bbbbbb' should be 6 (e.g., 3 substitutions + 3 insertions).",
6,
MoreStrings.getLevenshteinDistance("aaa", "bbbbbb"));
assertEquals(
"The distance between 'build' and 'biuldd' should be 3 (e.g., 1 deletion + 2 insertions).",
3,
MoreStrings.getLevenshteinDistance("build", "biuldd"));
assertEquals(
"The distance between 'test' and 'tset' should be 2 (e.g., 1 deletion + 1 insertion).",
2,
MoreStrings.getLevenshteinDistance("test", "tset"));
}
}