package dst.ass1.jpa.tests;

import static org.junit.Assert.assertEquals;

import javax.persistence.Query;

import org.junit.Test;

import dst.ass1.jpa.interceptor.SQLInterceptor;
import dst.ass1.jpa.util.Constants;

public class Ass1_3_3Test extends Ass1_TestBase {

    @Test
    public void sqlInterceptor_countsSelectsCorrectly() {
        em.getTransaction().begin();
        SQLInterceptor.resetCounter();
        assertEquals(0, SQLInterceptor.getSelectCount());

        Query c = em.createQuery("select c from " + Constants.T_LECTURER + " c");
        c.getResultList();

        assertEquals(1, SQLInterceptor.getSelectCount());

        c = em.createQuery("select distinct c from " + Constants.T_LECTURER + " c");
        c.getResultList();

        assertEquals(2, SQLInterceptor.getSelectCount());

        c = em.createQuery("select e from " + Constants.T_LESSON + " e");
        c.getResultList();
        assertEquals(3, SQLInterceptor.getSelectCount());
    }

}
