mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 11:03:43 +01:00 
			
		
		
		
	@@ -644,6 +644,36 @@ public class FlatFileDatabaseManagerTest {
 | 
			
		||||
        assertEquals(db.getDatabaseType(), DatabaseType.FLATFILE);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void testReadRank() {
 | 
			
		||||
        //This is an empty DB
 | 
			
		||||
        assertNotNull(db);
 | 
			
		||||
        String rankBoyName = "rankBoy";
 | 
			
		||||
        UUID rankBoyUUID = new UUID(1337, 1337);
 | 
			
		||||
        String rankGirlName = "rankGirl";
 | 
			
		||||
        UUID rankGirlUUID = new UUID(7331, 7331);
 | 
			
		||||
 | 
			
		||||
        PlayerProfile rankGirlProfile = addPlayerProfileWithLevelsAndSave(rankGirlName, rankGirlUUID, 100); //Rank 1
 | 
			
		||||
        PlayerProfile rankBoyProfile = addPlayerProfileWithLevelsAndSave(rankBoyName, rankBoyUUID, 10); //Rank 2
 | 
			
		||||
 | 
			
		||||
        assertEquals(LeaderboardStatus.UPDATED, db.updateLeaderboards());
 | 
			
		||||
        Map<PrimarySkillType, Integer> rankGirlPositions = db.readRank(rankGirlName);
 | 
			
		||||
        Map<PrimarySkillType, Integer> rankBoyPositions = db.readRank(rankBoyName);
 | 
			
		||||
 | 
			
		||||
        for(PrimarySkillType primarySkillType : PrimarySkillType.values()) {
 | 
			
		||||
            if(primarySkillType.isChildSkill()) {
 | 
			
		||||
                assertNull(rankBoyPositions.get(primarySkillType));
 | 
			
		||||
                assertNull(rankGirlPositions.get(primarySkillType));
 | 
			
		||||
            } else {
 | 
			
		||||
                assertEquals(1, rankGirlPositions.get(primarySkillType));
 | 
			
		||||
                assertEquals(2, rankBoyPositions.get(primarySkillType));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        assertEquals(1, db.readRank(rankGirlName).get(null)); //Girl should be position 1
 | 
			
		||||
        assertEquals(2, db.readRank(rankBoyName).get(null)); //Boy should be position 2
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void testLoadFromFile() {
 | 
			
		||||
        ClassLoader classLoader = getClass().getClassLoader();
 | 
			
		||||
@@ -708,6 +738,38 @@ public class FlatFileDatabaseManagerTest {
 | 
			
		||||
        return splitDataList;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private @NotNull PlayerProfile addPlayerProfileWithLevelsAndSave(String playerName, UUID uuid, int levels) {
 | 
			
		||||
        assertNotNull(db);
 | 
			
		||||
        assertFalse(db.loadPlayerProfile(uuid).isLoaded());
 | 
			
		||||
 | 
			
		||||
        db.newUser(playerName, uuid);
 | 
			
		||||
        PlayerProfile leveledProfile = db.loadPlayerProfile(uuid);
 | 
			
		||||
 | 
			
		||||
        assertTrue(leveledProfile.isLoaded());
 | 
			
		||||
        assertEquals(playerName, leveledProfile.getPlayerName());
 | 
			
		||||
        assertEquals(uuid, leveledProfile.getUniqueId());
 | 
			
		||||
 | 
			
		||||
        for(PrimarySkillType primarySkillType : PrimarySkillType.values()) {
 | 
			
		||||
            if(SkillTools.isChildSkill(primarySkillType))
 | 
			
		||||
                continue;
 | 
			
		||||
 | 
			
		||||
            leveledProfile.modifySkill(primarySkillType, levels); //TODO: This method also resets XP, not cool
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        db.saveUser(leveledProfile);
 | 
			
		||||
        leveledProfile = db.loadPlayerProfile(uuid);
 | 
			
		||||
 | 
			
		||||
        for(PrimarySkillType primarySkillType : PrimarySkillType.values()) {
 | 
			
		||||
            if(SkillTools.isChildSkill(primarySkillType)) {
 | 
			
		||||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            assertEquals(levels, leveledProfile.getSkillLevel(primarySkillType));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return leveledProfile;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void replaceDataInFile(@NotNull FlatFileDatabaseManager flatFileDatabaseManager, @NotNull String[] dataEntries) {
 | 
			
		||||
        String filePath = flatFileDatabaseManager.getUsersFile().getAbsolutePath();
 | 
			
		||||
        BufferedReader in = null;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user