TEUCHOS_UNIT_TEST( GetBaseObjVoidPtr, nonPolymorphicClasses )
{
  RCP<E> e_ptr(new E);
  RCP<D> d_ptr = e_ptr;
  TEST_EQUALITY( getBaseObjVoidPtr(&*e_ptr), static_cast<const void*>(&*e_ptr) );
  TEST_EQUALITY( getBaseObjVoidPtr(&*d_ptr), static_cast<const void*>(&*e_ptr) );
}
e_ptr EntityMap::spawn(const EnemyEntry &entry)
{
    int sx = entry.spawnX;
    int sy = entry.spawnY;
    polarType pol = entry.polarity;
    QString ref = entry.spawnRef;
    Path *p = new Path;

    for(Point pt: entry.paths){
        p->addNode(pt);
    }
    if(entry.enemyClass.compare("EnemyScout")==0){
        return e_ptr(new EnemyScout(game, sx, sy, pol, p ,ref));
    }else if(entry.enemyClass.compare("EnemyScarab")==0){
        return e_ptr(new EnemyScarab(game, sx, sy, pol, p ,ref));
    }else if(entry.enemyClass.compare("EnemyPestilence")==0){
        return e_ptr(new EnemyPestilence(game, sx, sy, pol, p ,ref));
    }else if(entry.enemyClass.compare("EnemyCruiser")==0){
        return e_ptr(new EnemyCruiser(game, sx, sy, pol, p ,ref));
    }else{
        return e_ptr(new EnemyProbe(game, sx, sy, pol, p ,ref));
    }
}