package com.jcwhatever.nucleus.utils.text;
import com.jcwhatever.nucleus.utils.text.TextFormat.TextFormatMap;
import com.jcwhatever.nucleus.utils.text.TextFormat.TextFormats;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TextFormatTest {
@Test
public void testRemove() throws Exception {
String source = "§l§1Test §2String§3";
assertEquals("Test String", TextFormat.remove(source));
}
@Test
public void testSeparate() throws Exception {
String source = "§l§1Test §2String§3";
TextFormatMap map = TextFormat.separate(source);
assertEquals("Test String", map.getText());
assertEquals(3, map.size());
assertEquals("§l§1", map.get(0));
assertEquals("§2", map.get(5));
assertEquals("§3", map.get(11));
}
@Test
public void testGetFormatAt() throws Exception {
String source = "§l§1Test §2String§3";
TextFormats formats = TextFormat.getFormatAt(11, source);
assertEquals("§2", formats.toString());
assertEquals(1, formats.getFormats().size());
formats = TextFormat.getFormatAt(0, source);
assertEquals("", formats.toString());
assertEquals(0, formats.getFormats().size());
formats = TextFormat.getFormatAt(4, source);
assertEquals("§1", formats.toString());
assertEquals(1, formats.getFormats().size());
}
@Test
public void testGetEndFormat() throws Exception {
String source = "§l§1Test §2String";
TextFormats formats = TextFormat.getEndFormat(source);
assertEquals("§2", formats.toString());
assertEquals(1, formats.getFormats().size());
}
@Test
public void testTrim() throws Exception {
String source = "§1Test String§1";
assertEquals("§1Test String", TextFormat.trim(source));
source = "§1Test String§1§c§1";
assertEquals("§1Test String", TextFormat.trim(source));
source = "§1§1§1§1Test §1§1§1String§1§c§1";
assertEquals("§1Test String", TextFormat.trim(source));
source = "§1§c§1§1Test §1§c§1String§1§c§1";
assertEquals("§1Test String", TextFormat.trim(source));
source = "§1§c§1§1";
assertEquals("", TextFormat.trim(source));
}
}