test: maintain test suites for economy and guild model

This commit is contained in:
2026-08-20 17:22:33 +02:00
parent aef971b82e
commit ecde93b40b
2 changed files with 112 additions and 0 deletions
@@ -0,0 +1,52 @@
package fr.luc.gamingcore.economy;
import fr.luc.gamingcore.model.Guild;
import fr.luc.gamingcore.model.GuildClaim;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.UUID;
import static org.junit.jupiter.api.Assertions.*;
public class ChunkPriceCalculatorTest {
private ChunkPriceCalculator calculator;
@BeforeEach
public void setUp() {
this.calculator = new ChunkPriceCalculator();
}
@Test
public void testFirstChunkPriceIsBasePrice() {
double firstChunk = calculator.calculatePrice(1, 0);
assertEquals(1000.0, firstChunk, 0.01);
}
@Test
public void testStructuralPriceIncreasesWithChunkCount() {
double chunk1 = calculator.calculatePrice(1, 0);
double chunk2 = calculator.calculatePrice(2, 0);
double chunk5 = calculator.calculatePrice(5, 0);
double chunk10 = calculator.calculatePrice(10, 0);
assertTrue(chunk2 > chunk1);
assertTrue(chunk5 > chunk2);
assertTrue(chunk10 > chunk5);
}
@Test
public void testOverheatMultiplierAppliesWithRecentClaims() {
double normalPrice = calculator.calculatePrice(6, 0);
double overheatedPrice = calculator.calculatePrice(6, 3);
assertTrue(overheatedPrice > normalPrice);
}
@Test
public void testLargeGuildOverheatIsMoreSevereThanSmallGuild() {
double smallMultiplier = calculator.calculateOverheatMultiplier(5, 4);
double largeMultiplier = calculator.calculateOverheatMultiplier(50, 4);
assertTrue(largeMultiplier > smallMultiplier);
}
}
@@ -0,0 +1,60 @@
package fr.luc.gamingcore.model;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.EnumSet;
import java.util.UUID;
import static org.junit.jupiter.api.Assertions.*;
public class GuildModelTest {
private Guild guild;
private UUID leaderUuid;
private UUID memberUuid;
private GuildRank leaderRank;
private GuildRank memberRank;
@BeforeEach
public void setUp() {
UUID guildId = UUID.randomUUID();
leaderUuid = UUID.randomUUID();
memberUuid = UUID.randomUUID();
guild = new Guild(guildId, "Valhalla", "VAL", "Guilde nordique", 500.0, System.currentTimeMillis());
leaderRank = new GuildRank("leader", guildId, "Chef", 100, false, EnumSet.allOf(GuildPermission.class));
memberRank = new GuildRank("member", guildId, "Membre", 1, true, EnumSet.of(GuildPermission.HOME, GuildPermission.BANK_DEPOSIT));
guild.addRank(leaderRank);
guild.addRank(memberRank);
guild.addMember(new GuildMember(leaderUuid, guildId, "leader", System.currentTimeMillis(), System.currentTimeMillis(), 0.0));
guild.addMember(new GuildMember(memberUuid, guildId, "member", System.currentTimeMillis(), System.currentTimeMillis(), 0.0));
}
@Test
public void testGuildMembershipAndRanks() {
assertEquals(2, guild.getMemberCount());
assertTrue(guild.isMember(leaderUuid));
assertTrue(guild.isMember(memberUuid));
assertEquals(leaderRank, guild.getMemberRank(leaderUuid));
assertEquals(memberRank, guild.getMemberRank(memberUuid));
assertEquals(memberRank, guild.getDefaultRank());
assertEquals(leaderRank, guild.getLeaderRank());
}
@Test
public void testPermissions() {
assertTrue(guild.hasPermission(leaderUuid, GuildPermission.CLAIM));
assertTrue(guild.hasPermission(leaderUuid, GuildPermission.KICK));
assertTrue(guild.hasPermission(leaderUuid, GuildPermission.BANK_WITHDRAW));
assertTrue(guild.hasPermission(memberUuid, GuildPermission.HOME));
assertTrue(guild.hasPermission(memberUuid, GuildPermission.BANK_DEPOSIT));
assertFalse(guild.hasPermission(memberUuid, GuildPermission.CLAIM));
assertFalse(guild.hasPermission(memberUuid, GuildPermission.BANK_WITHDRAW));
}
}