// Path: api-bungee/src/main/java/codecrafter47/bungeetablistplus/api/bungee/Icon.java
// @Data
// public class Icon implements Serializable {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private final UUID player;
//     @NonNull
//     private final String[][] properties;
// 
//     /**
//      * The default icon. The client will show a random Alex/ Steve face when using this.
//      */
//     public static final Icon DEFAULT = new Icon(null, new String[0][]);
// }


import codecrafter47.bungeetablistplus.api.bungee.Icon;
import com.google.common.base.Charsets;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import net.md_5.bungee.protocol.packet.PlayerListItem;
import org.junit.Before;
import org.junit.Test;
import java.util.Set;
import java.util.UUID;
import static org.junit.Assert.*;

        assertEquals(clientUUID, clientTabList.getVisibleEntries().get(3).getUuid());

        tabListHandler.setSlot(3, new Icon(null, new String[0][]), "Hi", 1);
        tabListHandler.setSlot(5, new Icon(clientUUID, new String[0][]), "Hi", 1);

        assertEquals(clientUUID, clientTabList.getVisibleEntries().get(5).getUuid());
    }

    @Test
    public void testSwapSkinA() {
        PlayerListItem packet = new PlayerListItem();
        packet.setAction(PlayerListItem.Action.ADD_PLAYER);
        PlayerListItem.Item item = new PlayerListItem.Item();
        item.setUsername(usernames[47]);
        item.setUuid(uuids[47]);
        item.setPing(47);
        item.setProperties(new String[0][]);
        item.setGamemode(0);
        packet.setItems(new PlayerListItem.Item[]{item});
        tabListHandler.onPlayerListPacket(packet);
        item.setUsername(usernames[48]);
        item.setUuid(uuids[48]);
        tabListHandler.onPlayerListPacket(packet);

        tabListHandler.setPassThrough(false);

        tabListHandler.setSize(20);

        tabListHandler.setSlot(3, new Icon(clientUUID, new String[0][]), "Hi", 1);
// Path: api-bungee/src/main/java/codecrafter47/bungeetablistplus/api/bungee/Icon.java
// @Data
// public class Icon implements Serializable {
// 
//     private static final long serialVersionUID = 1L;
// 
//     private final UUID player;
//     @NonNull
//     private final String[][] properties;
// 
//     /**
//      * The default icon. The client will show a random Alex/ Steve face when using this.
//      */
//     public static final Icon DEFAULT = new Icon(null, new String[0][]);
// }


// Path: bungee/src/test/java/codecrafter47/bungeetablistplus/tablisthandler/logic/AbstractTabListLogicTest.java
import codecrafter47.bungeetablistplus.api.bungee.Icon;
import com.google.common.base.Charsets;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import net.md_5.bungee.protocol.packet.PlayerListItem;
import org.junit.Before;
import org.junit.Test;
import java.util.Set;
import java.util.UUID;
import static org.junit.Assert.*;


        assertEquals(clientUUID, clientTabList.getVisibleEntries().get(3).getUuid());

        tabListHandler.setSlot(3, new Icon(null, new String[0][]), "Hi", 1);
        tabListHandler.setSlot(5, new Icon(clientUUID, new String[0][]), "Hi", 1);

        assertEquals(clientUUID, clientTabList.getVisibleEntries().get(5).getUuid());
    }

    @Test
    public void testSwapSkinA() {
        PlayerListItem packet = new PlayerListItem();
        packet.setAction(PlayerListItem.Action.ADD_PLAYER);
        PlayerListItem.Item item = new PlayerListItem.Item();
        item.setUsername(usernames[47]);
        item.setUuid(uuids[47]);
        item.setPing(47);
        item.setProperties(new String[0][]);
        item.setGamemode(0);
        packet.setItems(new PlayerListItem.Item[]{item});
        tabListHandler.onPlayerListPacket(packet);
        item.setUsername(usernames[48]);
        item.setUuid(uuids[48]);
        tabListHandler.onPlayerListPacket(packet);

        tabListHandler.setPassThrough(false);

        tabListHandler.setSize(20);

        tabListHandler.setSlot(3, new Icon(clientUUID, new String[0][]), "Hi", 1);
        tabListHandler.setSlot(5, new Icon(uuids[48], new String[0][]), "Hi", 1);