package util;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.util.Arrays;
import java.util.Collections;

import org.junit.Test;


public class UtilTest {
    
    @Test
    public void removePrefix() {
        assertEquals("World", Util.removePrefixSafely("Hello World", "Hello "));
        assertEquals("Hello World", Util.removePrefixSafely("Hello World", "NotPrefix"));
    }
    @Test
    public void join() {
        assertEquals("a, b, c", Util.join(Arrays.asList("a", "b", "c"), ", "));
        assertEquals("1, 2, 3", Util.join(Arrays.asList(1,2,3), ", "));
        // Empty collections, empty elements
        assertEquals("", Util.join(Collections.emptyList(), "---"));
        assertEquals("", Util.join(Arrays.asList(""), "---"));
        assertEquals("---", Util.join(Arrays.asList("", ""), "---"));
    }
    
    @Test
    public void escapeNull() {
        assertEquals("xyz", Util.escapeNull("xyz", "abc"));
        assertEquals("abc", Util.escapeNull(null, "abc"));
    }
    @Test
    public void equals() {
        assertTrue(Util.equals("123", "123"));
        assertTrue(Util.equals(null, null));
        assertFalse(Util.equals("123", null));
        assertFalse(Util.equals(null, "123"));
    }
}

