Agent extends WorldEntity implements Drawable { public Map<String, String> getAttributes() { for (AgentRole role : roles) { marketplaceProperties .put(role.marketPlaceString(), Integer.toString(role .getExp())); } return marketplaceProperties; } Agent(String name, int x, int y, double speed);  Agent(int x, int y, double speed,
                 Map<String, String> marketplaceProperties); static List<String> getRoleTypeNames(); static RoleType getRoleTypeFromString(String name); static int getTotalInfections(); static void setTreatmentRound(int amount); static void setremainingTreatments(int amount); int getAge(); boolean isFemale(); String getGender(); void setExistingWorkerRoleExperience(); @Override void tick(); void moveTowardTaskLocation(); double getDirection(); double getSpeed(); void setSpeed(double speed); String getName(); boolean hasTask(); boolean hasIdleTask(); AbstractTask getTask(); void setTask(AbstractTask task); Inventory getRucksack(); ToolType getToolType(); MachineType getMachineType(); void removeTool(); void removeMachine(); Tool getTool(); Machine getMachine(); boolean equip(ToolType type); boolean equipMachine(MachineType type); void removeResource(String name); boolean canEquip(ToolType toolType); boolean canEquipMachine(MachineType machineType); Orientation calculateOrientationToTask(); @Override void draw(Viewport v, GraphicsContext g); int getHappiness(); void setHappiness(int happiness); Animation getAnimation(); void setAnimation(Animation animation); int getLevelForRole(RoleType roleType); void addExperienceForRole(RoleType roleType, int experience); void IHaveSeenLeggy(); boolean eligibleForTask(AbstractTask task); boolean hasRequiredTool(AbstractTask task); boolean isRequiredRole(AbstractTask task); boolean taskInWorkingArea(AbstractTask task); RoleType getCurrentRoleType(); void setCurrentRoleType(RoleType roleType); void setAreaLock(Rectangle workingArea); int getHighestLevel(); int getWage(); boolean setWage(int newWage); boolean isRoleTypeLocked(); void lockRole(); void unlockRole(); Map<String, String> getAttributes(); int getQuantity(); int getMaxQuantity(); void setState(AgentState state); @Override String toString(); Integer getId(); void setId(Integer id); String getImageFileName(); Rectangle getAreaLock(); boolean isAreaLocked(); void areaUnlock();  }
@Test public void testGetAttributes() { Map<String, String> attr = agent.getAttributes(); String farmerExp = attr.get("exp_farmer"); assertEquals("0", farmerExp); }