package no.valg.valgnatt.database.hibernate;

import no.valg.valgnatt.database.domene.ValgType;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class StemmeoppgjorIdTest {

    private static final String KOMMNR = "0701";
    private static final String KRETSNR = "0001";
    private static final String KO = "KO";
    private static final StemmeoppgjorId STEMMEOPPGJOR_ID = StemmeoppgjorId.builder().kommnr(KOMMNR).kretsnr(KRETSNR).valgtype(KO).build();

    @Test
    public void getValgtype_gittKo_returnererValgtypeKO() {
        assertEquals(ValgType.KO, STEMMEOPPGJOR_ID.getValgtype());
    }

    @Test
    public void equals_gittTilsvaredeObjekt() {
        StemmeoppgjorId other = StemmeoppgjorId.builder().kommnr(KOMMNR).kretsnr(KRETSNR).valgtype(KO).build();
        assertEquals(STEMMEOPPGJOR_ID, other);
    }

    @Test
    public void id_gittStemmeoppgjorId() {
        assertEquals("KO-0701-0001", STEMMEOPPGJOR_ID.id());
    }

    @Test
    public void hashCode_gittStemmeoppgjorId() {
        assertEquals(-2078919875, STEMMEOPPGJOR_ID.hashCode());
    }
}
