Utils/Bannerparser/src/test/java/eu/mikroskeem/utils/test/bannerparser/ParserTest.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)));
}
}
}