Subversion Repositories bacoAlunos

Rev

Rev 1776 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.domain.test;

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();
        }
    }

    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();
        }
    }

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


        ts.setTipologiasMarcadas(new ArrayList<Tipologia>());
        ts.setTipologiasUsadas(new ArrayList<Tipologia>());

        Tipologia tUsada = new Tipologia();
        tUsada.setCdTurma("TINF");
        tUsada.setCdDocente("20128");
        tUsada.setCdTipologia("T");
        tUsada.setDsTipologia("Teorica");
        ts.getTipologiasUsadas().add(tUsada);

        Tipologia tMarcada = new Tipologia();
        tMarcada.setCdTurma("TINF");
        tMarcada.setCdDocente("20128");
        tMarcada.setCdTipologia("T");
        tMarcada.setDsTipologia("Teorica");
        ts.getTipologiasMarcadas().add(tMarcada);

        Tipologia t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(null);
        t.setUse(false);//para confirmar que a marca
        t.setMarkWarning(false);//para confirmar que a marca
        Tipologia marcadaUsada = t;

        ts.getTipologiasHorarioReferencia().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("PL");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa


        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);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa

        ts.getTipologiasExtraAdicionadas().add(t);





        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(10);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa

        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrencias(20);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa

        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.equals(marcadaUsada))
                {
                    assertTrue(tipologia.isMarkWarning());
                    assertTrue(tipologia.isUse());
                }
                else
                {
                    assertFalse(tipologia.isMarkWarning());
                    assertFalse(tipologia.isUse());
                }

                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();
        }



    }

    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.setOcorrenciasGetSetNormal(10);
        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrenciasGetSetNormal(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.getOcorrenciasGetSetNormal() == 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();
        }



    }

    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.setOcorrenciasGetSetNormal(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF2");
        t.setCdDocente("20128");
        t.setCdTipologia("Sem");
        t.setOcorrenciasGetSetNormal(null);
        ts.getTipologiasExtraAdicionadas().add(t);
        */




        /*
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrenciasGetSetNormal(10);
        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrenciasGetSetNormal(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.getOcorrenciasGetSetNormal() == null || tipologia.getOcorrenciasGetSetNormal() == 0);
                    foundOT = true;
                }
                if(tipologia.getCdTipologia().equals("Sem"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertTrue(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrenciasGetSetNormal() == null || tipologia.getOcorrenciasGetSetNormal() == 0);
                    foundSem = true;
                }*/

                /*if(tipologia.getCdTipologia().equals("TP"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrenciasGetSetNormal() == 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();
        }



    }

    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.setOcorrenciasGetSetNormal(null);
        ts.getTipologiasHorarioReferencia().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("PL");
        t.setOcorrenciasGetSetNormal(null);
        ts.getTipologiasHorarioReferencia().add(t);
*/


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




        /*
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrenciasGetSetNormal(10);
        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrenciasGetSetNormal(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.getOcorrenciasGetSetNormal() == 10);
                    foundT = true;
                }
                if(tipologia.getCdTipologia().equals("PL"))
                {
                    assertTrue(tipologia.isHorRef());
                    assertFalse(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrenciasGetSetNormal() == null || tipologia.getOcorrenciasGetSetNormal() == 0);
                    foundPL = true;
                }
                */

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

                /*if(tipologia.getCdTipologia().equals("TP"))
                {
                    assertFalse(tipologia.isHorRef());
                    assertTrue(tipologia.isSumario());
                    assertFalse(tipologia.isExtra());
                    assertTrue(tipologia.getOcorrenciasGetSetNormal() == 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();
        }



    }

    /* Metodo Serialize Merge comentado porque o serializeMerge não era usado
    Mas está em pleno funcionamento pode voltar a ser usado

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


        ts.setTipologiasMarcadas(new ArrayList<Tipologia>());
        ts.setTipologiasUsadas(new ArrayList<Tipologia>());

        Tipologia tUsada = new Tipologia();
        tUsada.setCdTurma("TINF");
        tUsada.setCdDocente("20128");
        tUsada.setCdTipologia("T");
        tUsada.setDsTipologia("Teorica");
        ts.getTipologiasUsadas().add(tUsada);

        Tipologia tMarcada = new Tipologia();
        tMarcada.setCdTurma("TINF");
        tMarcada.setCdDocente("20128");
        tMarcada.setCdTipologia("T");
        tMarcada.setDsTipologia("Teorica");
        ts.getTipologiasMarcadas().add(tMarcada);

        Tipologia t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(null);
        t.setUse(false);//para confirmar que a marca
        t.setMarkWarning(false);//para confirmar que a marca
        Tipologia marcadaUsada = t;

        ts.getTipologiasHorarioReferencia().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("PL");
        t.setOcorrencias(null);
        ts.getTipologiasHorarioReferencia().add(t);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa


        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);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa

        ts.getTipologiasExtraAdicionadas().add(t);





        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("T");
        t.setOcorrencias(10);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa

        ts.getTipologiasSumarios().add(t);
        t = new Tipologia();
        t.setCdTurma("TINF");
        t.setCdDocente("20128");
        t.setCdTipologia("TP");
        t.setOcorrencias(20);
        t.setMarkWarning(true); //para verificar se as limpa
        t.setUse(true); //para verificar se as limpa

        ts.getTipologiasSumarios().add(t);

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

        String serial = null;
        try {
            serial = ts.serialize();
            Tipologias tsTeste = Tipologias.deserialize(serial);
            ArrayList<Tipologia> mergeBefore = tsTeste.obtainMergeTipologias();


            String serialMerge = Tipologias.serializeMergedList(mergeBefore);

            ArrayList<Tipologia> merge = Tipologias.deserializeMergedTipologias(serialMerge);


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

            for(Tipologia tipologia: merge)
            {
                if(tipologia.equals(marcadaUsada))
                {
                    assertTrue(tipologia.isMarkWarning());
                    assertTrue(tipologia.isUse());
                }
                else
                {
                    assertFalse(tipologia.isMarkWarning());
                    assertFalse(tipologia.isUse());
                }

                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 (IOException e) {
            e.printStackTrace();
        }



    }
    */


    public void testOnlySerialization() throws 1.5.0/docs/api/java/io/IOException.html">IOException {


        ArrayList<Tipologia> ts = new ArrayList<Tipologia>();
        Tipologia t = new Tipologia();
        t.setCdTurma("1");
        t.setDsTipologia("2");
        t.setCdTipologia("3");
        t.setCdDocente("4");
        t.setOcorrencias(5);
        t.setTdocturma(true);
        t.setExclude(true);



        //Estes campo nunca são serializados sao usados sim em tempo real
        //O use por exemplo para quando faz merge perceber se usa ou não determinada
        //Tipologia
        t.setUse(true);
        t.setMarkWarning(true);
        //t.extra = ??
        //t.horarioRef = ??

        ts.add(t);


        Tipologias tipologias = new Tipologias();
        tipologias.setTipologiasSumarios(ts);
        tipologias.setTipologiasExtraAdicionadas(ts);
        tipologias.setTipologiasUsadas(ts);
        tipologias.setTipologiasHorarioReferencia(ts);
        tipologias.setTipologiasTdocTurma(ts);
        tipologias.setTipologiasMarcadas(ts);

        1.5.0/docs/api/java/lang/String.html">String json = tipologias.serialize();
        Tipologias tipologias2 = Tipologias.deserialize(json);


        Tipologia tipologiaOriginal = tipologias.getTipologiasSumarios().get(0);
        Tipologia tipologiaObtida = tipologias2.getTipologiasSumarios().get(0);
        checkFields(tipologiaOriginal, tipologiaObtida);

        tipologiaObtida = tipologias2.getTipologiasExtraAdicionadas().get(0);
        checkFields(tipologiaOriginal, tipologiaObtida);

        tipologiaObtida = tipologias2.getTipologiasHorarioReferencia().get(0);
        checkFields(tipologiaOriginal, tipologiaObtida);

        tipologiaObtida = tipologias2.getTipologiasMarcadas().get(0);
        checkFields(tipologiaOriginal, tipologiaObtida);

        tipologiaObtida = tipologias2.getTipologiasTdocTurma().get(0);
        checkFields(tipologiaOriginal, tipologiaObtida);

        tipologiaObtida = tipologias2.getTipologiasUsadas().get(0);
        checkFields(tipologiaOriginal, tipologiaObtida);




    }

    private void checkFields(Tipologia tipologiaOriginal, Tipologia tipologiaObtida) {
        assertTrue(tipologiaOriginal.getCdTurma().equals(tipologiaObtida.getCdTurma()));
        assertTrue(tipologiaOriginal.getDsTipologia().equals(tipologiaObtida.getDsTipologia()));
        assertTrue(tipologiaOriginal.getCdTipologia().equals(tipologiaObtida.getCdTipologia()));
        assertTrue(tipologiaOriginal.getCdDocente().equals(tipologiaObtida.getCdDocente()));
        assertTrue(tipologiaOriginal.getOcorrencias().intValue() == tipologiaObtida.getOcorrencias().intValue());
        assertTrue(tipologiaOriginal.isTdocturma() == tipologiaObtida.isTdocturma());
        assertTrue(tipologiaOriginal.isExclude() == tipologiaObtida.isExclude());
    }


}