Package com.artemis.managers

Source Code of com.artemis.managers.UuidEntityManagerTest

package com.artemis.managers;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;

import java.util.UUID;

import org.junit.Assert;
import org.junit.Test;

import com.artemis.Entity;
import com.artemis.MundaneWireException;
import com.artemis.World;

@SuppressWarnings("static-method")
public class UuidEntityManagerTest {
 
  @Test(expected=MundaneWireException.class)
  public void throw_exception_missing_uuid_manager() {
    World world = new World();
    world.initialize();
   
    Entity entity = world.createEntity();
   
    Assert.assertNotNull(entity.getUuid());
  }
 
  @Test
  public void uuid_assigned() {
    World world = new World();
    world.setManager(new UuidEntityManager());
    world.initialize();
   
    Entity entity = world.createEntity();
   
    assertNotNull(entity.getUuid());
    UUID uuid1 = entity.getUuid();
    world.deleteEntity(entity);
   
    world.process();
    world.process();
   
    entity = world.createEntity();
   
    assertNotNull(entity.getUuid());
    UUID uuid2 = entity.getUuid();

    assertNotEquals(uuid1, uuid2);
  }
 
  @Test
  public void uuid_updates_work() {
    World world = new World();
    UuidEntityManager uuidManager = world.setManager(new UuidEntityManager());
    world.initialize();
   
    Entity entity = world.createEntity();
   
    UUID uuid0 = entity.getUuid();
    Assert.assertNotNull(uuid0);
   
    UUID uuid1 = UUID.randomUUID();
   
    assertEquals(uuid0, entity.getUuid());
    entity.setUuid(uuid1);
    assertEquals(uuid1, entity.getUuid());
   
   
    assertNotEquals(uuid0, uuid1);
    assertNull(uuidManager.getEntity(uuid0));
    assertEquals(entity, uuidManager.getEntity(uuid1));
  }
 
  @Test
  public void explicit_uuids() {
    World world = new World();
    world.setManager(new UuidEntityManager());
    world.initialize();
   
    UUID[] uuids = new UUID[3];
    uuids[0] = UUID.randomUUID();
    uuids[1] = UUID.randomUUID();
    uuids[2] = UUID.randomUUID();
   
    Entity e1 = world.createEntity(uuids[0]);
    Entity e2 = world.createEntity(uuids[1]);
    Entity e3 = world.createEntity(uuids[2]);
   
    assertEquals(uuids[0], e1.getUuid());
    assertEquals(uuids[1], e2.getUuid());
    assertEquals(uuids[2], e3.getUuid());
  }
}
TOP

Related Classes of com.artemis.managers.UuidEntityManagerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.