/** Test for {@link GenericItem#areConsistent(Object, Object)} */ public void testAreConsistent() { assertTrue(GenericItem.areConsistent(null, null)); assertTrue(GenericItem.areConsistent("test", "test")); assertTrue(GenericItem.areConsistent(null, "test")); assertTrue(GenericItem.areConsistent("test", null)); assertFalse(GenericItem.areConsistent("test", "")); }
/** * Gets additional info about the item (card information and expire time). * * @return Additional information about this item. */ public static String getTitle(GenericItem item) { CubeString builder = new CubeString(); int cardCount = 0; if (item.getCard0() != null) { cardCount++; builder.append("[", item.getCard0().getName(), "]"); } if (item.getCard1() != null) { cardCount++; builder.append("[", item.getCard1().getName(), "]"); } if (item.getCard2() != null) { cardCount++; builder.append("[", item.getCard2().getName(), "]"); } if (item.getCard3() != null) { cardCount++; builder.append("[", item.getCard3().getName(), "]"); } if (cardCount > 0) { builder.insert(0, "Cards: "); } if (item.getExpireTime() > 0) { builder.append(" - Expire time: ", item.getExpireTime()); } return builder.toString(); }
/** Test for {@link GenericItem#areEqual(Object, Object)} */ public void testAreEqual() { assertTrue(GenericItem.areEqual(null, null)); assertTrue(GenericItem.areEqual("test", "test")); assertFalse(GenericItem.areEqual(null, "test")); assertFalse(GenericItem.areEqual("test", null)); assertFalse(GenericItem.areEqual("test", "")); }
/** Test for {@link GenericItem#mergeObjects(Object, Object)} */ public void testMergeObjects() throws ConflictingItemException { assertNull(GenericItem.mergeObjects(null, null)); assertEquals("test", GenericItem.mergeObjects("test", "test")); assertEquals("test", GenericItem.mergeObjects(null, "test")); assertEquals("test", GenericItem.mergeObjects("test", null)); try { assertEquals("test", GenericItem.mergeObjects("test", "")); fail("Expected ConflictingItemException to be thrown"); } catch (ConflictingItemException e) { // Expected because "test" conflicts with "". } }
/** * Generates the name the same way it is displayed in the game's storage, with the refine rate and * card prefixes/suffixes. * * @return The item's detailed name. */ public static String getDetailedName(GenericItem item) { CubeString builder = new CubeString(); if (item.getRefineRate() > 0) { builder.append("+", item.getRefineRate(), " "); } builder.append(item.getName()); Integer slots = item.getItem().getSlots(); if (slots != null) { if (slots > 0) { builder.append("[", slots, "]"); } } return builder.toString(); }
/** Test for {@link GenericItem#mergeAttributes(IItem)}. */ public void testMergeAttributes() throws ConflictingItemException { Map<String, Object> attributes; attributes = mEmptyItem1.mergeAttributes(mEmptyItem1); assertNull(attributes.get("string")); assertNull(attributes.get("integer")); attributes = mEmptyItem1.mergeAttributes(mEmptyItem2); assertNull(attributes.get("string")); assertNull(attributes.get("integer")); attributes = mEmptyItem2.mergeAttributes(mEmptyItem1); assertNull(attributes.get("string")); assertNull(attributes.get("integer")); attributes = mEmptyItem1.mergeAttributes(mStringItem); assertEquals(mStringAttribute, attributes.get("string")); assertNull(attributes.get("integer")); attributes = mStringItem.mergeAttributes(mEmptyItem1); assertEquals(mStringAttribute, attributes.get("string")); assertNull(attributes.get("integer")); attributes = mIntegerItem.mergeAttributes(mStringItem); assertEquals(mStringAttribute, attributes.get("string")); assertEquals(mIntegerAttribute, attributes.get("integer")); attributes = mEmptyItem1.mergeAttributes(mFullItem1); assertEquals(mStringAttribute, attributes.get("string")); assertEquals(mIntegerAttribute, attributes.get("integer")); attributes = mFullItem1.mergeAttributes(mEmptyItem1); assertEquals(mStringAttribute, attributes.get("string")); assertEquals(mIntegerAttribute, attributes.get("integer")); attributes = mFullItem1.mergeAttributes(mFullItem2); assertEquals(mStringAttribute, attributes.get("string")); assertEquals(mIntegerAttribute, attributes.get("integer")); try { mFullItem1.mergeAttributes(mInconsistentItem); fail("Expecting a ConflictingItemException"); } catch (ConflictingItemException e) { // Expected } }
@Override public void setUp() { mEmptyItem1 = new GenericItem(null, ATTRIBUTES); mEmptyItem2 = new GenericItem(null, ATTRIBUTES); mStringItem = new GenericItem(null, ATTRIBUTES); mStringItem.setAttribute("string", mStringAttribute); mIntegerItem = new GenericItem(null, ATTRIBUTES); mIntegerItem.setAttribute("integer", mIntegerAttribute); mFullItem1 = new GenericItem(null, ATTRIBUTES); mFullItem1.setAttribute("string", mStringAttribute); mFullItem1.setAttribute("integer", mIntegerAttribute); mFullItem2 = new GenericItem(null, ATTRIBUTES); mFullItem2.setAttribute("string", mStringAttribute); mFullItem2.setAttribute("integer", mIntegerAttribute); mInconsistentItem = new GenericItem(null, ATTRIBUTES); mInconsistentItem.setAttribute("string", "gnirts"); mInconsistentItem.setAttribute("integer", 2); }
/** * Test for {@link GenericItem#setAttribute(String, Object)} and {@link * GenericItem#getAttribute(String)}. */ public void testAttributes() { GenericItem item = new GenericItem(null, ATTRIBUTES); assertNull(item.getAttribute("string")); assertNull(item.getAttribute("integer")); item.setAttribute("string", mStringAttribute); item.setAttribute("integer", mIntegerAttribute); assertEquals(mStringAttribute, item.getAttribute("string")); assertEquals(mIntegerAttribute, item.getAttribute("integer")); item.setAttribute("string", null); item.setAttribute("integer", null); assertNull(item.getAttribute("string")); assertNull(item.getAttribute("integer")); try { item.setAttribute("object", new Object()); fail("Failed to throw IllegalArgumentException"); } catch (IllegalArgumentException e) { // Expected because "object" is not "string" or "integer". } }
/** Test {@link GenericItem#equals(Object)}. */ public void testEquals() { assertTrue(mEmptyItem1.equals(mEmptyItem1)); assertFalse(mEmptyItem1.equals(null)); assertTrue(mEmptyItem1.equals(mEmptyItem2)); assertTrue(mEmptyItem2.equals(mEmptyItem1)); assertFalse(mEmptyItem1.equals(mStringItem)); assertFalse(mStringItem.equals(mEmptyItem1)); assertFalse(mIntegerItem.equals(mStringItem)); assertFalse(mEmptyItem1.equals(mFullItem1)); assertFalse(mFullItem1.equals(mEmptyItem1)); assertTrue(mFullItem1.equals(mFullItem2)); assertFalse(mFullItem1.equals(mInconsistentItem)); }
/** Test for {@link GenericItem#isConsistent(IItem)}. */ public void testIsConsistent() { assertTrue(mEmptyItem1.isConsistent(mEmptyItem1)); assertFalse(mEmptyItem1.isConsistent(null)); assertTrue(mEmptyItem1.isConsistent(mEmptyItem2)); assertTrue(mEmptyItem2.isConsistent(mEmptyItem1)); assertTrue(mEmptyItem1.isConsistent(mStringItem)); assertTrue(mStringItem.isConsistent(mEmptyItem1)); assertTrue(mIntegerItem.isConsistent(mStringItem)); assertTrue(mEmptyItem1.isConsistent(mFullItem1)); assertTrue(mFullItem1.isConsistent(mEmptyItem1)); assertTrue(mFullItem1.isConsistent(mFullItem2)); assertFalse(mFullItem1.isConsistent(mInconsistentItem)); }
@Override public void setName(String name) { super.setName(name); mm.setItemName(this, name); }