Fix: "toString" Testing For Player.java.

This commit is contained in:
GabrieleRadice
2026-04-25 20:17:05 +02:00
parent 5caed61044
commit d2f3a549b3
2 changed files with 49 additions and 22 deletions
@@ -3,10 +3,14 @@ package it.polimi.ingsw.gc14.Model;
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.*;
import it.polimi.ingsw.gc14.View.TUI.AsciiTable;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static it.polimi.ingsw.gc14.View.TUI.BorderStyle.*;
/**
* Default Player class; contains all identifiers and methods needed.
@@ -224,21 +228,47 @@ public class Player implements Serializable {
// endregion constructors
// region Functions
// TODO tostring usr + food + prestige \n tab foreach(characters.cards + spazio)
@Override
public String toString() {
String toPrint = "";
toPrint = this.getUserName()
+ ":\n\tFood: " + this.getFoodValue()
+ "\n\tPrestige: " + this.getPrestigeValue()
+ "\n\tArtists: " + this.artists.toString()
+ "\n\tBuilders: " + this.builders.toString()
+ "\n\tGatherers: " + this.gatherers.toString()
+ "\n\tShamans: " + this.shamans.toString()
+ "\n\tHunters: " + this.hunters.toString()
+ "\n\tBuildings: "
+ this.buildingCards.toString();
return toPrint;
var table = new AsciiTable(UNICODE, 1);
table.addHeader(this.getUserName());
table.addRow("RESOURCES:");
table.addRow("Food: " + this.getFoodValue());
table.addSeparator();
table.addRow("Prestige: " + this.getPrestigeValue());
table.addRow("CHARACTERS:");
if(!this.artists.isEmpty()){
table.addRow("Artists: " + this.artists.toString());
}
if(!this.builders.isEmpty()){
table.addRow("Builders: " + this.builders.toString());
}
if(!this.gatherers.isEmpty()){
table.addRow("Gatherers: " + this.gatherers.toString());
}
if(!this.shamans.isEmpty()){
table.addRow("Shamans: " + this.shamans.toString());
}
if(!this.hunters.isEmpty()){
table.addRow("Hunters: " + this.hunters.toString());
}
//TODO fix ?
table.addSeparator();
table.addRow("BUILDING CARDS:");
if(!this.buildingCards.isEmpty()){
table.addRow("Buildings: " + this.buildingCards.toString());
}
return table.build();
}
// endregion functions
}
@@ -200,17 +200,14 @@ class PlayerTest {
p.addPrestige(15);
p.addFood(7);
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(2));
p.buildingCards.add(new BuildingCard(2, 1,2, 5));
p.buildingCards.add(new BuildingCard(2, 2,3, 6));
assertEquals("test_usr:"+ "\n\t" +
"Food: 7" + "\n\t" +
"Prestige: 15" + "\n\t" +
"Artists: [Era:1 ARTIST, Era:2 ARTIST]" + "\n\t" + "Builders: []" + "\n\t" +
"Gatherers: []" + "\n\t" +
"Shamans: []" + "\n\t" +
"Hunters: []" + "\n\t" +
"Buildings: [Era:1 Price:2 Prestige:5, Era:2 Price:3 Prestige:6]",
p.toString());
System.out.println(p.toString());
}
}