81 lines
3.4 KiB
Java
81 lines
3.4 KiB
Java
package eu.mikroskeem.utils.test.bannerparser;
|
|
|
|
import eu.mikroskeem.utils.bannerparser.parsers.Parsers;
|
|
import eu.mikroskeem.utils.bannerparser.parsers.needcoolshoes.NeedCoolShoesParser;
|
|
import eu.mikroskeem.utils.bannerparser.parsers.planetminecraft.PlanetMinecraftParser;
|
|
import org.bukkit.DyeColor;
|
|
import org.bukkit.block.banner.Pattern;
|
|
import org.bukkit.block.banner.PatternType;
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
|
|
import java.net.MalformedURLException;
|
|
import java.net.URL;
|
|
import java.util.ArrayList;
|
|
|
|
public class ParserTest {
|
|
@Test
|
|
public void testParserSelector() throws MalformedURLException {
|
|
URL url = new URL("http://www.planetminecraft.com/banner/?b=g2feC");
|
|
URL url1 = new URL("http://www.needcoolshoes.com/banner?=pabunK");
|
|
URL url2 = new URL("http://example.com");
|
|
Assert.assertEquals(Parsers.getParser(url).getClass(), PlanetMinecraftParser.class);
|
|
Assert.assertEquals(Parsers.getParser(url1).getClass(), NeedCoolShoesParser.class);
|
|
Assert.assertNull(Parsers.getParser(url2));
|
|
}
|
|
|
|
@Test
|
|
public void testPMCParser() throws MalformedURLException {
|
|
URL url = new URL("http://www.planetminecraft.com/banner/?b=g1Aca");
|
|
ArrayList<Pattern> matchPattern = new ArrayList<Pattern>(){{
|
|
add(new Pattern(DyeColor.WHITE, PatternType.BASE));
|
|
add(new Pattern(DyeColor.BLACK, PatternType.DIAGONAL_LEFT_MIRROR));
|
|
add(new Pattern(DyeColor.YELLOW, PatternType.DIAGONAL_RIGHT_MIRROR));
|
|
}};
|
|
|
|
ArrayList<Pattern> parsed = Parsers.parse(url);
|
|
for (int i = 0; i < parsed.size(); i++) {
|
|
Assert.assertEquals(matchPattern.get(i), parsed.get(i));
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void testNCSParser() throws MalformedURLException {
|
|
URL url = new URL("http://www.needcoolshoes.com/banner?=paaIlJ");
|
|
ArrayList<Pattern> matchPattern = new ArrayList<Pattern>(){{
|
|
add(new Pattern(DyeColor.WHITE, PatternType.BASE));
|
|
add(new Pattern(DyeColor.BLACK, PatternType.DIAGONAL_LEFT_MIRROR));
|
|
add(new Pattern(DyeColor.YELLOW, PatternType.DIAGONAL_RIGHT_MIRROR));
|
|
}};
|
|
|
|
ArrayList<Pattern> parsed = Parsers.parse(url);
|
|
for (int i = 0; i < parsed.size(); i++) {
|
|
Assert.assertEquals(matchPattern.get(i), parsed.get(i));
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void testDiagonals() throws MalformedURLException {
|
|
URL url = new URL("http://www.planetminecraft.com/banner/?b=gcAbBda29");
|
|
URL url1 = new URL("http://www.needcoolshoes.com/banner?=palIkxmJbr");
|
|
|
|
ArrayList<Pattern> matchPattern = new ArrayList<Pattern>(){{
|
|
add(new Pattern(DyeColor.WHITE, PatternType.BASE));
|
|
add(new Pattern(DyeColor.YELLOW, PatternType.DIAGONAL_LEFT_MIRROR));
|
|
add(new Pattern(DyeColor.LIME, PatternType.DIAGONAL_RIGHT));
|
|
add(new Pattern(DyeColor.LIGHT_BLUE, PatternType.DIAGONAL_RIGHT_MIRROR));
|
|
add(new Pattern(DyeColor.RED, PatternType.DIAGONAL_LEFT));
|
|
}};
|
|
|
|
ArrayList<Pattern> parsed = Parsers.parse(url);
|
|
for (int i = 0; i < parsed.size(); i++) {
|
|
Assert.assertTrue(parsed.get(i).equals(matchPattern.get(i)));
|
|
}
|
|
|
|
ArrayList<Pattern> parsed1 = Parsers.parse(url1);
|
|
for (int i = 0; i < parsed1.size(); i++) {
|
|
Assert.assertTrue(parsed1.get(i).equals(matchPattern.get(i)));
|
|
}
|
|
}
|
|
}
|