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