/** 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", ""));
 }
Example #2
0
 /**
  * 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 "".
    }
  }
Example #5
0
 /**
  * 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));
 }
Example #11
0
 @Override
 public void setName(String name) {
   super.setName(name);
   mm.setItemName(this, name);
 }