package no.valg.valgnatt.database.hibernate;

import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class KandidatIdTest {

    private static final String KO = "KO";
    private static final Integer VALGAAR = 2019;
    private static final Integer PLASSNR = 1;
    private static final String PARTIKODE = "X";
    private static final String VALGDISTRIKTNR = "0701";
    private static final KandidatId KANDIDAT_ID = KandidatId.builder().valgaar(VALGAAR).valgtype(KO).partikode(PARTIKODE).valgdistriktnr(VALGDISTRIKTNR).plassnr(PLASSNR).build();


    @Test
    public void id_gittKandidatId() {
        assertEquals("2019-KO-0701-X-1", KANDIDAT_ID.id());
    }

    @Test
    public void equals_gittTilsvarendeObjekt() {
        KandidatId other = KandidatId.builder().valgaar(VALGAAR).valgtype(KO).partikode(PARTIKODE).valgdistriktnr(VALGDISTRIKTNR).plassnr(PLASSNR).build();
        assertEquals(KANDIDAT_ID, other);
    }

    @Test
    public void hashCode_gittKandidatId() {
        assertEquals(-695390503, KANDIDAT_ID.hashCode());
    }

    @Test
    public void toString_gittKandidatId() {
        assertEquals("2019-KO-0701-X-1", KANDIDAT_ID.toString());
    }
}
