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 matchPattern = new ArrayList(){{ 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 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 matchPattern = new ArrayList(){{ 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 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 matchPattern = new ArrayList(){{ 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 parsed = Parsers.parse(url); for (int i = 0; i < parsed.size(); i++) { Assert.assertTrue(parsed.get(i).equals(matchPattern.get(i))); } ArrayList parsed1 = Parsers.parse(url1); for (int i = 0; i < parsed1.size(); i++) { Assert.assertTrue(parsed1.get(i).equals(matchPattern.get(i))); } } }