com.ppcxy.cyfm.showcase.demos.utilities.string.ApacheStringUtilsDemo.java Source code

Java tutorial

Introduction

Here is the source code for com.ppcxy.cyfm.showcase.demos.utilities.string.ApacheStringUtilsDemo.java

Source

/*******************************************************************************
 * Copyright (c) 2005, 2014 springside.github.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 *******************************************************************************/
package com.ppcxy.cyfm.showcase.demos.utilities.string;

import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;

import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;

/**
 * Apache Commons Lang3StringUtils
 * <p>
 * ApacheStringUtils???StringNull Safe, .
 *
 * @author calvin
 */
public class ApacheStringUtilsDemo {

    @Test
    public void nullSafe() {
        // ?
        assertThat(StringUtils.isNotBlank(null)).isFalse();
        assertThat(StringUtils.isNotBlank("")).isFalse();
        assertThat(StringUtils.isNotBlank("  ")).isFalse();

        assertThat(StringUtils.isNotEmpty("  ")).isTrue();

        // nullblankdefault
        assertThat(StringUtils.defaultString(null)).isEqualTo("");
        assertThat(StringUtils.defaultString(null, "defaultStr")).isEqualTo("defaultStr");

        assertThat(StringUtils.defaultIfBlank(null, "defaultStr")).isEqualTo("defaultStr");
        assertThat(StringUtils.defaultIfBlank(" ", "defaultStr")).isEqualTo("defaultStr");
    }

    @Test
    public void substring() {
        String input = "hahakaka";
        String result = StringUtils.substringAfter(input, "ha");
        assertThat(result).isEqualTo("hakaka");

        result = StringUtils.substringAfterLast(input, "ha");
        assertThat(result).isEqualTo("kaka");

        assertThat(StringUtils.substringBetween("'haha'", "'")).isEqualTo("haha");
        assertThat(StringUtils.substringBetween("{haha}", "{", "}")).isEqualTo("haha");
    }

    @Test
    public void joinSplit() {
        // join
        List<String> inputList = Lists.newArrayList("a", "b", "c");
        String result = StringUtils.join(inputList, ",");
        assertThat(result).isEqualTo("a,b,c");

        // split
        String input = "a,b,c";
        String[] resultArray = StringUtils.split(input, ",");
        assertThat(resultArray).containsSequence("a", "b", "c");
    }

    @Test
    public void otherUtils() {
        // ignoreCase:contains/startWith/EndWith/indexOf/lastIndexOf
        assertThat(StringUtils.containsIgnoreCase("Aaabbb", "aaa")).isTrue();
        assertThat(StringUtils.indexOfIgnoreCase("Aaabbb", "aaa")).isEqualTo(0);

        // 0
        assertThat(StringUtils.leftPad("1", 3, '0')).isEqualTo("001");
        assertThat(StringUtils.leftPad("12", 3, '0')).isEqualTo("012");

        // ???
        assertThat(StringUtils.abbreviate("abcdefg", 7)).isEqualTo("abcdefg");
        assertThat(StringUtils.abbreviate("abcdefg", 6)).isEqualTo("abc...");

        // ?/?
        assertThat(StringUtils.capitalize("abc")).isEqualTo("Abc");
        assertThat(StringUtils.uncapitalize("Abc")).isEqualTo("abc");
    }
}