Convert ItemFactory to singleton

This commit is contained in:
Dylan K. Taylor
2020-04-24 00:18:31 +01:00
parent 13d784cd0c
commit 5a94af40e2
19 changed files with 546 additions and 546 deletions

View File

@ -28,16 +28,12 @@ use pocketmine\block\BlockFactory;
class ItemFactoryTest extends TestCase{
public function setUp() : void{
ItemFactory::init();
}
/**
* Tests that blocks are considered to be valid registered items
*/
public function testItemBlockRegistered() : void{
for($id = 0; $id < 256; ++$id){
self::assertEquals(BlockFactory::getInstance()->isRegistered($id), ItemFactory::isRegistered($id));
self::assertEquals(BlockFactory::getInstance()->isRegistered($id), ItemFactory::getInstance()->isRegistered($id));
}
}
@ -64,7 +60,7 @@ class ItemFactoryTest extends TestCase{
* @param int $meta
*/
public function testFromStringSingle(string $string, int $id, int $meta) : void{
$item = ItemFactory::fromString($string);
$item = ItemFactory::getInstance()->fromString($string);
self::assertEquals($id, $item->getId());
self::assertEquals($meta, $item->getMeta());
@ -74,10 +70,10 @@ class ItemFactoryTest extends TestCase{
* Test that durable items are correctly created by the item factory
*/
public function testGetDurableItem() : void{
self::assertInstanceOf(Sword::class, $i1 = ItemFactory::get(ItemIds::WOODEN_SWORD));
self::assertInstanceOf(Sword::class, $i1 = ItemFactory::getInstance()->get(ItemIds::WOODEN_SWORD));
/** @var Sword $i1 */
self::assertSame(0, $i1->getDamage());
self::assertInstanceOf(Sword::class, $i2 = ItemFactory::get(ItemIds::WOODEN_SWORD, 1));
self::assertInstanceOf(Sword::class, $i2 = ItemFactory::getInstance()->get(ItemIds::WOODEN_SWORD, 1));
/** @var Sword $i2 */
self::assertSame(1, $i2->getDamage());
}

View File

@ -30,7 +30,6 @@ use pocketmine\item\enchantment\EnchantmentInstance;
class ItemTest extends TestCase{
public static function setUpBeforeClass() : void{
ItemFactory::init();
Enchantment::init();
}
@ -38,14 +37,14 @@ class ItemTest extends TestCase{
private $item;
public function setUp() : void{
$this->item = ItemFactory::get(ItemIds::DIAMOND_SWORD);
$this->item = ItemFactory::getInstance()->get(ItemIds::DIAMOND_SWORD);
}
/**
* Test for issue #1145 (items aren't considered equal after NBT serializing and deserializing
*/
public function testItemEquals() : void{
$item = ItemFactory::get(ItemIds::STONE)->setCustomName("HI");
$item = ItemFactory::getInstance()->get(ItemIds::STONE)->setCustomName("HI");
$item2 = Item::nbtDeserialize($item->nbtSerialize());
self::assertTrue($item2->equals($item));
self::assertTrue($item->equals($item2));
@ -55,7 +54,7 @@ class ItemTest extends TestCase{
* Test that same items without NBT are considered equal
*/
public function testItemEqualsNoNbt() : void{
$item1 = ItemFactory::get(ItemIds::DIAMOND_SWORD);
$item1 = ItemFactory::getInstance()->get(ItemIds::DIAMOND_SWORD);
$item2 = clone $item1;
self::assertTrue($item1->equals($item2));
}
@ -67,7 +66,7 @@ class ItemTest extends TestCase{
public function testItemPersistsDisplayProperties() : void{
$lore = ["Line A", "Line B"];
$name = "HI";
$item = ItemFactory::get(ItemIds::DIAMOND_SWORD);
$item = ItemFactory::getInstance()->get(ItemIds::DIAMOND_SWORD);
$item->setCustomName($name);
$item->setLore($lore);
$item = Item::nbtDeserialize($item->nbtSerialize());