@Test public void testIllegalArguments() { try { QxImage.valueOf(null, null); fail("Must throw NPE"); } catch (NullPointerException e) { // expected } try { QxImage.valueOf("", null); fail("Must throw NPE"); } catch (NullPointerException e) { // expected } try { QxImage.valueOf("", RESOURCE_LOADER); fail("Must throw IAE"); } catch (IllegalArgumentException e) { // expected } try { QxImage.createGradient(null, new float[] {}, true); fail("Must throw NPE"); } catch (NullPointerException e) { // expected } try { QxImage.createGradient(new String[] {}, null, true); fail("Must throw NPE"); } catch (NullPointerException e) { // expected } }
@Test public void testResourcePathsDiffer() { QxImage image1 = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); QxImage image2 = QxImage.valueOf(Fixture.IMAGE_100x50, RESOURCE_LOADER); String path1 = image1.getResourcePath(applicationContext); String path2 = image2.getResourcePath(applicationContext); assertFalse(path1.equals(path2)); }
@Test public void testNone() { assertSame(QxImage.NONE, QxImage.valueOf("none", null)); assertSame(QxImage.NONE, QxImage.valueOf("none", RESOURCE_LOADER)); assertTrue(QxImage.NONE.none); assertNull(QxImage.NONE.path); assertNull(QxImage.NONE.loader); assertNull(QxImage.NONE.gradientColors); assertNull(QxImage.NONE.gradientPercents); assertTrue(QxImage.NONE.vertical); assertEquals(0, QxImage.NONE.width); assertEquals(0, QxImage.NONE.height); }
@Test public void testHashCode() { assertEquals(-1526341861, QxImage.NONE.hashCode()); QxImage qxImage1 = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); QxImage qxImage2 = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); assertEquals(qxImage1, qxImage2); assertEquals(qxImage1.hashCode(), qxImage2.hashCode()); String[] gradientColors = new String[] {"#FF0000", "#00FF00", "#0000FF"}; float[] gradientPercents = new float[] {0f, 50f, 100f}; QxImage gradient1 = QxImage.createGradient(gradientColors, gradientPercents, true); QxImage gradient2 = QxImage.createGradient(gradientColors, gradientPercents, true); assertEquals(gradient1, gradient2); assertEquals(gradient1.hashCode(), gradient2.hashCode()); }
@Test public void testGetResourceName() { QxImage image = QxImage.NONE; assertNull(image.getResourcePath(applicationContext)); image = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); assertEquals("themes/images/ba873d77.png", image.getResourcePath(applicationContext)); }
@Test public void testGetResourceAsStream() throws IOException { QxImage image = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); InputStream inputStream = image.getResourceAsStream(); assertTrue(inputStream.available() > 0); inputStream.close(); }
@Test public void testCreateSWTImage() throws IOException { Display display = new Display(); QxImage image = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); Image swtImage = QxImage.createSwtImage(image); assertNotNull(swtImage); assertSame(display, swtImage.getDevice()); }
@Test public void testNotExisting() { try { QxImage.valueOf("not-existing.png", RESOURCE_LOADER); fail(); } catch (IllegalArgumentException e) { // expected } }
@Test public void testCreateImage() { QxImage qxImage = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); assertFalse(qxImage.none); assertEquals(Fixture.IMAGE_50x100, qxImage.path); assertSame(RESOURCE_LOADER, qxImage.loader); assertNull(qxImage.gradientColors); assertNull(qxImage.gradientPercents); assertTrue(qxImage.vertical); assertEquals(50, qxImage.width); assertEquals(100, qxImage.height); assertFalse(qxImage.isGradient()); }
@Test public void testGetResourcePath() { QxImage image = QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER); assertTrue(image.getResourcePath(applicationContext).startsWith("themes/images/")); }
@Test public void testDefaultString() { assertEquals("none", QxImage.NONE.toDefaultString()); assertEquals("", QxImage.valueOf(Fixture.IMAGE_50x100, RESOURCE_LOADER).toDefaultString()); }