package com.gzzm.lobster.common;

import org.junit.Test;

import java.util.HashSet;
import java.util.Set;

import static org.junit.Assert.*;

public class IdGeneratorTest {

    @Test
    public void prefixIsApplied() {
        assertTrue(IdGenerator.threadId().startsWith("th_"));
        assertTrue(IdGenerator.messageId().startsWith("msg_"));
        assertTrue(IdGenerator.runId().startsWith("run_"));
        assertTrue(IdGenerator.artifactId().startsWith("art_"));
    }

    @Test
    public void idsAreUnique() {
        Set<String> seen = new HashSet<>();
        for (int i = 0; i < 1000; i++) {
            assertTrue(seen.add(IdGenerator.uuid()));
        }
        assertEquals(1000, seen.size());
    }

    @Test
    public void uuidHasNoDashes() {
        assertFalse(IdGenerator.uuid().contains("-"));
    }
}
