Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Leopoldo Taravilse Diez
algo1-tpi
Commits
e92561a0
Commit
e92561a0
authored
8 years ago
by
Leandro Lera Romero
Browse files
Options
Download
Email Patches
Plain Diff
Relajo la igualdad de medalleros para que adecue a la spec
parent
542d6ce4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
43 additions
and
7 deletions
+43
-7
tests/jjoo_tests.cpp
tests/jjoo_tests.cpp
+43
-7
No files found.
tests/jjoo_tests.cpp
View file @
e92561a0
...
...
@@ -155,7 +155,7 @@ TEST(jjoo_tests, competencias_al_transcurrir_dos_dias) {
Competencia
comp_dos_segundo_dia
=
Competencia
(
deportes
[
3
],
Genero
::
Masculino
,
participantes_cuarta
);
JJOO
jo
=
JJOO
(
2016
,
atletas
,
{{
comp_uno_primer_dia
,
comp_dos_primer_dia
},
JJOO
jo
=
JJOO
(
2016
,
atletas
,
{{
comp_uno_primer_dia
,
comp_dos_primer_dia
},
{
comp_uno_segundo_dia
,
comp_dos_segundo_dia
}});
ASSERT_TRUE
(
mismos
(
jo
.
competencias
(),
...
...
@@ -274,6 +274,44 @@ TEST(jjoo_tests, sequias_olimpicas_y_los_mas_fracasados) {
ASSERT_TRUE
(
mismos
(
jo
.
dePaseo
(),
{
atletas_para_el_juego
[
3
]}));
}
void
sonMedallerosEquivalentes
(
const
vector
<
pair
<
Pais
,
vector
<
int
>
>
>
&
medallero
,
const
vector
<
pair
<
Pais
,
vector
<
int
>
>
>
&
joMedallero
)
{
// misma cantidad de paises
ASSERT_TRUE
(
joMedallero
.
size
()
==
medallero
.
size
());
// mismos paises
vector
<
Pais
>
paisesEnMedallero
;
vector
<
Pais
>
paisesEnJoMedallero
;
for
(
int
l
=
0
;
l
<
medallero
.
size
();
++
l
)
{
paisesEnMedallero
.
push_back
(
medallero
[
l
].
first
);
paisesEnJoMedallero
.
push_back
(
joMedallero
[
l
].
first
);
}
sort
(
paisesEnMedallero
.
begin
(),
paisesEnMedallero
.
end
());
sort
(
paisesEnJoMedallero
.
begin
(),
paisesEnJoMedallero
.
end
());
ASSERT_TRUE
(
paisesEnMedallero
==
paisesEnJoMedallero
);
// mismas medallas por pais
for
(
int
j
=
0
;
j
<
medallero
.
size
();
++
j
)
{
for
(
int
i
=
0
;
i
<
joMedallero
.
size
();
++
i
)
{
if
(
medallero
[
j
].
first
==
joMedallero
[
i
].
first
)
{
for
(
int
k
=
0
;
k
<
3
;
++
k
)
{
ASSERT_EQ
(
medallero
[
j
].
second
[
k
],
joMedallero
[
i
].
second
[
k
]);
}
}
}
}
// medallero ordenado
for
(
int
i
=
0
;
i
<
joMedallero
.
size
()
-
1
;
++
i
)
{
vector
<
int
>
medallasActual
=
joMedallero
[
i
].
second
;
vector
<
int
>
medallasSig
=
joMedallero
[
i
+
1
].
second
;
ASSERT_TRUE
(
medallasActual
[
0
]
>
medallasSig
[
0
]
||
(
medallasActual
[
0
]
==
medallasSig
[
0
]
&&
medallasActual
[
1
]
>
medallasSig
[
1
])
||
(
medallasActual
[
0
]
==
medallasSig
[
0
]
&&
medallasActual
[
1
]
==
medallasSig
[
1
]
&&
medallasActual
[
2
]
>=
medallasSig
[
2
]));
}
}
TEST
(
jjoo_tests
,
hay_un_patron
)
{
//Nota util: Los indices de los paises se corresponden con el indice de los atletas, si el atleta 0 gano una medalla es porque el pais 0 gano una medalla
...
...
@@ -325,11 +363,11 @@ TEST(jjoo_tests, hay_un_patron) {
jo
.
transcurrirDia
();
ASSERT_TRUE
(
jo
.
uyOrdenadoAsiHayUnPatron
());
vector
<
pair
<
Pais
,
vector
<
int
>
>
>
medallero
=
{
std
::
make_pair
(
paises
[
0
],
(
std
::
vector
<
int
>
)
{
4
,
0
,
0
}),
std
::
make_pair
(
paises
[
1
],
(
std
::
vector
<
int
>
)
{
3
,
0
,
0
}),
std
::
make_pair
(
paises
[
2
],
(
std
::
vector
<
int
>
)
{
3
,
0
,
0
})};
ASSERT_TRUE
(
jo
.
medallero
()
==
medallero
);
sonMedallerosEquivalentes
(
medallero
,
jo
.
medallero
());
//Boicot a Argentina en el oro que gano en la cuarta fecha de los juegos
jo
.
boicotPorDisciplina
(
std
::
make_pair
(
deportes
[
3
],
Genero
::
Femenino
),
paises
[
0
]);
...
...
@@ -338,11 +376,9 @@ TEST(jjoo_tests, hay_un_patron) {
std
::
make_pair
(
paises
[
1
],
(
std
::
vector
<
int
>
)
{
3
,
0
,
0
}),
std
::
make_pair
(
paises
[
2
],
(
std
::
vector
<
int
>
)
{
3
,
0
,
0
})};
ASSERT_TRUE
(
jo
.
medallero
()
==
medallero
);
ASSERT_FALSE
(
jo
.
uyOrdenadoAsiHayUnPatron
());
//En la cuarta fecha nadie gano nada, se deberia omitir
sonMedallerosEquivalentes
(
medallero
,
jo
.
medallero
());
ASSERT_FALSE
(
jo
.
uyOrdenadoAsiHayUnPatron
());
//En la cuarta fecha nadie gano nada, se deberia omitir
}
TEST
(
jjoo_tests
,
liu_song
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment