Subversion Repositories bacoAlunos

Rev

Rev 1313 | Rev 1326 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.domain.test;

import com.owlike.genson.TransformationException;
import junit.framework.TestCase;
import pt.estgp.estgweb.domain.CourseUnitImpl.Tipologia;
import pt.estgp.estgweb.domain.CourseUnitImpl.Tipologias;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


/**
 * Created by jorgemachado on 08/03/16.
 */

public class TestCourseUnit extends TestCase
{
    public void testTipologias()
    {
        Tipologias ts = new Tipologias();
        ts.setTipologiasHorarioReferencia(new ArrayList<Tipologia>());
        ts.setTipologiasExtraAdicionadas(new ArrayList<Tipologia>());
        ts.setTipologiasSumarios(new ArrayList<Tipologia>());

        Tipologia t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setDsTipologia("Teorica");
        t.setOcorrencias(2);

        ts.getTipologiasHorarioReferencia().add(t);

        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20129");
        t.setCdTipologia("T");
        t.setDsTipologia("Teorica");
        t.setOcorrencias(32);

        ts.getTipologiasHorarioReferencia().add(t);


        t = new Tipologia();
        t.setCdTurma("TINF3");
        t.setCdDocente("20130");
        t.setCdTipologia("TP");
        t.setDsTipologia("TeoricasPraticas");
        t.setOcorrencias(10);

        ts.getTipologiasExtraAdicionadas().add(t);

        t = new Tipologia();
        t.setCdTurma("TINF4");
        t.setCdDocente("20131");
        t.setCdTipologia("OT");
        t.setDsTipologia("Orientacao");
        t.setOcorrencias(1);

        ts.getTipologiasSumarios().add(t);

        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20129");
        t.setCdTipologia("T");
        t.setDsTipologia("Teoricas");
        t.setOcorrencias(null);

        ts.getTipologiasSumarios().add(t);


        try {
            1.5.0/docs/api/java/lang/String.html">String serial = ts.serialize();

            Tipologias tsTeste = Tipologias.deserialize(serial);

            Iterator<Tipologia> iterOriginal = ts.getTipologiasHorarioReferencia().iterator();
            Iterator<Tipologia> iterDesirialized = tsTeste.getTipologiasHorarioReferencia().iterator();
            while(iterOriginal.hasNext())
            {
                assertTrue(iterDesirialized.hasNext());
                iterOriginal.next().equalsIncDsFields(iterDesirialized.next());
            }
            assertFalse(iterDesirialized.hasNext());

            iterOriginal = ts.getTipologiasExtraAdicionadas().iterator();
            iterDesirialized = tsTeste.getTipologiasExtraAdicionadas().iterator();
            while(iterOriginal.hasNext())
            {
                assertTrue(iterDesirialized.hasNext());
                iterOriginal.next().equalsIncDsFields(iterDesirialized.next());
            }
            assertFalse(iterDesirialized.hasNext());

            iterOriginal = ts.getTipologiasSumarios().iterator();
            iterDesirialized = tsTeste.getTipologiasSumarios().iterator();
            while(iterOriginal.hasNext())
            {
                assertTrue(iterDesirialized.hasNext());
                iterOriginal.next().equalsIncDsFields(iterDesirialized.next());
            }
            assertFalse(iterDesirialized.hasNext());


        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
            e.printStackTrace();
        } catch (TransformationException e) {
            e.printStackTrace();
        }
    }

    public void testExceptionCasesTipologias()
    {
        Tipologias ts = new Tipologias();
        ts.setTipologiasHorarioReferencia(new ArrayList<Tipologia>());
        ts.setTipologiasExtraAdicionadas(new ArrayList<Tipologia>());
        ts.setTipologiasSumarios(new ArrayList<Tipologia>());

        Tipologia t = new Tipologia();
        t.setCdTurma("");
        t.setCdDocente(null);
        t.setCdTipologia("T");

        ts.getTipologiasHorarioReferencia().add(t);

        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20129");
        t.setCdTipologia(null);

        ts.getTipologiasHorarioReferencia().add(t);


        t = new Tipologia();
        t.setCdTurma("");
        t.setCdDocente("20130");
        t.setCdTipologia("TP");

        ts.getTipologiasExtraAdicionadas().add(t);

        t = new Tipologia();
        t.setCdTurma("TINF4");
        t.setCdDocente("20131");
        t.setCdTipologia("OT");

        ts.getTipologiasSumarios().add(t);

        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20129");
        t.setCdTipologia("T");

        ts.getTipologiasSumarios().add(t);


        try {
            1.5.0/docs/api/java/lang/String.html">String serial = ts.serialize();

            Tipologias tsTeste = Tipologias.deserialize(serial);

            Iterator<Tipologia> iterOriginal = ts.getTipologiasHorarioReferencia().iterator();
            Iterator<Tipologia> iterDesirialized = tsTeste.getTipologiasHorarioReferencia().iterator();
            while(iterOriginal.hasNext())
            {
                assertTrue(iterDesirialized.hasNext());
                iterOriginal.next().equalsIncDsFields(iterDesirialized.next());
            }
            assertFalse(iterDesirialized.hasNext());

            iterOriginal = ts.getTipologiasExtraAdicionadas().iterator();
            iterDesirialized = tsTeste.getTipologiasExtraAdicionadas().iterator();
            while(iterOriginal.hasNext())
            {
                assertTrue(iterDesirialized.hasNext());
                iterOriginal.next().equalsIncDsFields(iterDesirialized.next());
            }
            assertFalse(iterDesirialized.hasNext());

            iterOriginal = ts.getTipologiasSumarios().iterator();
            iterDesirialized = tsTeste.getTipologiasSumarios().iterator();
            while(iterOriginal.hasNext())
            {
                assertTrue(iterDesirialized.hasNext());
                iterOriginal.next().equalsIncDsFields(iterDesirialized.next());
            }
            assertFalse(iterDesirialized.hasNext());


        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
            e.printStackTrace();
        } catch (TransformationException e) {
            e.printStackTrace();
        }
    }

    public void testMerge()
    {
        Tipologias ts = new Tipologias();
        ts.setTipologiasHorarioReferencia(new ArrayList<Tipologia>());
        ts.setTipologiasExtraAdicionadas(new ArrayList<Tipologia>());
        ts.setTipologiasSumarios(new ArrayList<Tipologia>());


        Tipologia t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("PL");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);


        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("OT");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("Sem");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);





        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(10);
        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrencias(20);
        ts.getTipologiasSumarios().add(t);

        boolean foundT = false;
        boolean foundPL = false;
        boolean foundOT = false;
        boolean foundSem = false;
        boolean foundTP = false;

        1.5.0/docs/api/java/lang/String.html">String serial = null;
        try {
            serial = ts.serialize();
            Tipologias tsTeste = Tipologias.deserialize(serial);
            List<Tipologia> merge = tsTeste.obtainMergeTipologias();

            assertTrue(merge.size() == 5);

            for(Tipologia tipologia: merge)
            {
                if(tipologia.getCdTipologia().equals("T"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == 10);
                    foundT = true;
                }
                if(tipologia.getCdTipologia().equals("PL"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundPL = true;
                }
                if(tipologia.getCdTipologia().equals("OT"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundOT = true;
                }
                if(tipologia.getCdTipologia().equals("Sem"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundSem = true;
                }
                if(tipologia.getCdTipologia().equals("TP"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == 20);
                    foundTP = true;
                }
            }
            assertTrue(foundT);
            assertTrue(foundPL);
            assertTrue(foundOT);
            assertTrue(foundSem);
            assertTrue(foundTP);

        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
            e.printStackTrace();
        } catch (TransformationException e) {
            e.printStackTrace();
        }



    }

    public void testMerge2()
    {
        Tipologias ts = new Tipologias();
        ts.setTipologiasHorarioReferencia(new ArrayList<Tipologia>());
        ts.setTipologiasExtraAdicionadas(new ArrayList<Tipologia>());
        ts.setTipologiasSumarios(null);


        Tipologia t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("PL");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);


        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("OT");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("Sem");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);




        /*
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(10);
        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrencias(20);
        ts.getTipologiasSumarios().add(t);
        */


        boolean foundT = false;
        boolean foundPL = false;
        boolean foundOT = false;
        boolean foundSem = false;
        //boolean foundTP = false;

        1.5.0/docs/api/java/lang/String.html">String serial = null;
        try {
            serial = ts.serialize();
            Tipologias tsTeste = Tipologias.deserialize(serial);
            List<Tipologia> merge = tsTeste.obtainMergeTipologias();

            assertTrue(merge.size() == 4);

            for(Tipologia tipologia: merge)
            {
                if(tipologia.getCdTipologia().equals("T"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundT = true;
                }
                if(tipologia.getCdTipologia().equals("PL"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundPL = true;
                }
                if(tipologia.getCdTipologia().equals("OT"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundOT = true;
                }
                if(tipologia.getCdTipologia().equals("Sem"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundSem = true;
                }
                /*if(tipologia.getCdTipologia().equals("TP"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == 20);
                    foundTP = true;
                }*/

            }
            assertTrue(foundT);
            assertTrue(foundPL);
            assertTrue(foundOT);
            assertTrue(foundSem);
            //assertTrue(foundTP);

        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
            e.printStackTrace();
        } catch (TransformationException e) {
            e.printStackTrace();
        }



    }

    public void testMerge3()
    {
        Tipologias ts = new Tipologias();
        ts.setTipologiasHorarioReferencia(new ArrayList<Tipologia>());
        ts.setTipologiasExtraAdicionadas(null);
        ts.setTipologiasSumarios(null);


        Tipologia t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("PL");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);


        /*
        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("OT");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("Sem");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        */




        /*
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(10);
        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrencias(20);
        ts.getTipologiasSumarios().add(t);
        */


        boolean foundT = false;
        boolean foundPL = false;
        //boolean foundOT = false;
        //boolean foundSem = false;
        //boolean foundTP = false;

        1.5.0/docs/api/java/lang/String.html">String serial = null;
        try {
            serial = ts.serialize();
            Tipologias tsTeste = Tipologias.deserialize(serial);
            List<Tipologia> merge = tsTeste.obtainMergeTipologias();

            assertTrue(merge.size() == 2);

            for(Tipologia tipologia: merge)
            {
                if(tipologia.getCdTipologia().equals("T"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundT = true;
                }
                if(tipologia.getCdTipologia().equals("PL"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundPL = true;
                }
                /*if(tipologia.getCdTipologia().equals("OT"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundOT = true;
                }
                if(tipologia.getCdTipologia().equals("Sem"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundSem = true;
                }*/

                /*if(tipologia.getCdTipologia().equals("TP"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == 20);
                    foundTP = true;
                }*/

            }
            assertTrue(foundT);
            assertTrue(foundPL);
            //assertTrue(foundOT);
            //assertTrue(foundSem);
            //assertTrue(foundTP);

        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
            e.printStackTrace();
        } catch (TransformationException e) {
            e.printStackTrace();
        }



    }

    public void testMerge4()
    {
        Tipologias ts = new Tipologias();
        ts.setTipologiasHorarioReferencia(null);
        ts.setTipologiasExtraAdicionadas(null);
        ts.setTipologiasSumarios(null);


        /*
        Tipologia t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("PL");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);
*/


        /*
        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("OT");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("Sem");
        t.setOcorrencias(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        */




        /*
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(10);
        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrencias(20);
        ts.getTipologiasSumarios().add(t);
        */


        //boolean foundT = false;
        //boolean foundPL = false;
        //boolean foundOT = false;
        //boolean foundSem = false;
        //boolean foundTP = false;

        1.5.0/docs/api/java/lang/String.html">String serial = null;
        try {
            serial = ts.serialize();
            Tipologias tsTeste = Tipologias.deserialize(serial);
            List<Tipologia> merge = tsTeste.obtainMergeTipologias();

            assertTrue(merge.size() == 0);

            for(Tipologia tipologia: merge)
            {
                /*
                if(tipologia.getCdTipologia().equals("T"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == 10);
                    foundT = true;
                }
                if(tipologia.getCdTipologia().equals("PL"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundPL = true;
                }
                */

                /*if(tipologia.getCdTipologia().equals("OT"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundOT = true;
                }
                if(tipologia.getCdTipologia().equals("Sem"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == null || tipologia.getOcorrencias() == 0);
                    foundSem = true;
                }*/

                /*if(tipologia.getCdTipologia().equals("TP"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrencias() == 20);
                    foundTP = true;
                }*/

            }
            //assertTrue(foundT);
            //assertTrue(foundPL);
            //assertTrue(foundOT);
            //assertTrue(foundSem);
            //assertTrue(foundTP);

        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
            e.printStackTrace();
        } catch (TransformationException e) {
            e.printStackTrace();
        }



    }

}