| /******************************************************************************* |
| * Copyright (c) 2009, 2017 xored software, Inc. and others. |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * xored software, Inc. - initial API and Implementation (Alex Panchenko) |
| *******************************************************************************/ |
| package org.eclipse.dltk.core.tests.utils; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertNull; |
| |
| import org.eclipse.dltk.compiler.CharOperation; |
| import org.junit.Test; |
| |
| public class CharOperationTests { |
| |
| @Test |
| public void testSplitOnNull() { |
| char[][] result = CharOperation.splitOn("::".toCharArray(), null); |
| assertNull(result); |
| } |
| @Test |
| public void testSplitOn1() { |
| char[][] result = CharOperation.splitOn("::".toCharArray(), "AAA".toCharArray()); |
| assertEquals(1, result.length); |
| assertEquals("AAA", new String(result[0])); |
| } |
| @Test |
| public void testSplitOn2() { |
| char[][] result = CharOperation.splitOn("::".toCharArray(), "A::B".toCharArray()); |
| assertEquals(2, result.length); |
| assertEquals("A", new String(result[0])); |
| assertEquals("B", new String(result[1])); |
| } |
| @Test |
| public void testSplitOn3() { |
| char[][] result = CharOperation.splitOn("::".toCharArray(), "AA::BB::CC".toCharArray()); |
| assertEquals(3, result.length); |
| assertEquals("AA", new String(result[0])); |
| assertEquals("BB", new String(result[1])); |
| assertEquals("CC", new String(result[2])); |
| } |
| @Test |
| public void testStringConcatWith() { |
| char[] result = CharOperation.concatWith(new String[] { "A", "B" }, '.'); |
| assertEquals(3, result.length); |
| assertEquals('A', result[0]); |
| assertEquals('.', result[1]); |
| assertEquals('B', result[2]); |
| } |
| @Test |
| public void testStringConcatWithString() { |
| char[] result = CharOperation.concatWith(new String[] { "A", "B" }, "::"); |
| assertEquals(4, result.length); |
| assertEquals('A', result[0]); |
| assertEquals(':', result[1]); |
| assertEquals(':', result[2]); |
| assertEquals('B', result[3]); |
| } |
| @Test |
| public void testStringEmptyConcatWithString() { |
| char[] result = CharOperation.concatWith(new String[] { "A", "", "B" }, "::"); |
| assertEquals(4, result.length); |
| assertEquals('A', result[0]); |
| assertEquals(':', result[1]); |
| assertEquals(':', result[2]); |
| assertEquals('B', result[3]); |
| } |
| @Test |
| public void testConcatCharArrays() { |
| String result = new String(CharOperation.concatWith(new char[][] { "A".toCharArray(), "B".toCharArray() }, new char[][] { |
| "C".toCharArray(), "D".toCharArray() }, '.')); |
| assertEquals("A.B.C.D", result); |
| } |
| } |