IIC2143 / Syllabus-2024-1

56 stars 3 forks source link

Test 25 [3A] #60

Closed mon-b closed 8 months ago

mon-b commented 8 months ago

Hola! Tengo un problema con el test 25. Básicamente en mi response aparece Chupete Suazo antes que Sebastián Saez, pero ambos están empatados en tarjetas, y según el enunciado no hay un criterio a seguir en caso de empate, por lo tanto no entiendo cuál sería el problema, o cuál es el criterio que sigue el test.

Response: { "id": 37, "name": "Cristian Ruz", "goal": 10, "assist": 4, "card": 0, "team_id": 90 } { "id": 43, "name": "Chupete Suazo", "goal": 12, "assist": 1, "card": 0, "team_id": 92 } { "id": 40, "name": "Sebatian Saez", "goal": 2, "assist": 1, "card": 0, "team_id": 91 } { "id": 42, "name": "Felipe Flores", "goal": 3, "assist": 2, "card": 1, "team_id": 91 }

Expected: { "id": 37, "name": "Cristian Ruz", "goal": 10, "assist": 4, "card": 0, "asist": 4, "team_id": 90 } { "id": 40, "name": "Sebatian Saez", "goal": 2, "assist": 1, "card": 0, "asist": 1, "team_id": 91 } { "id": 43, "name": "Chupete Suazo", "goal": 12, "assist": 1, "card": 0, "asist": 1, "team_id": 92 } { "id": 42, "name": "Felipe Flores", "goal": 3, "assist": 2, "card": 1, "asist": 2, "team_id": 91 }

FelipeMunozMoraga commented 8 months ago

Hola! el test utiliza los ID como método de desempate, pido disculpas ya que fue error nuestro no haberlo indicado en el enunciado. Por eso espera que Sáez (40) vaya antes que Suazo (43), ojalá con esto puedas completar la tarea! Quedo atento a tu respuesta 😄

mon-b commented 8 months ago

Muchas gracias! no tuve problemas con topAssist y topGoals, sin embargo me queda la duda de si para estos 2 métodos igualmente se aplica el criterio de ordenar por id cuando hayan empates.

También sobre worst_team, si hay dos equipos que son el peor, con la misma cantidad de puntos & partidos jugados, eliminaría igualmente por id?

FelipeMunozMoraga commented 8 months ago

Si, en caso de empate de jugadores el método de desempate es el ID, en el caso de los equipos no deben manejar eso, ya que no habrá equipos que empaten en puntos y cantidad de partidos jugados

3rdPix commented 8 months ago

@FelipeMunozMoraga Quisiera acotar un pequeño problema que también estoy teniendo respecto a este test, y que se puede ver que el compañero también lo tiene. Observa detalladamente el response de un jugador real vs el esperado:

Response { "id": 42, "name": "Felipe Flores", "goal": 3, "assist": 2, "card": 1, "team_id": 91 } Expected { "id": 42, "name": "Felipe Flores", "goal": 3, "assist": 2, "card": 1, "asist": 2, "team_id": 91 }

El problema no es exactamente que estén "desordenados". Es que en el expected hay una llave que realmente no existe en el model: se trata de asist:2. Obviamente esto es un error, y por ende es imposible acertar la respuesta esperada al menos para esa función de get_player_top_cards. ¿De dónde aparece/nace ese asist:2?

FelipeMunozMoraga commented 8 months ago

Hola! Gracias por hacernos notar el error El expected de los tests de hacer ranking de jugadores quedó con las asissts "duplicadas" a la hora de imprimir el expected, en realidad si se fijan no están duplicadas, sino que por nuestro error se crea player.asist y player.assist. Afortunadamente para verificar si el código pasa o no pasa el test se revisa que player.assist sea el valor que se espera y no se revisa player.asist, por lo que el hecho de que está "duplicado" no afecta, ya que si está bien el valor en uno está bien, en player.assist también va a estar bueno. Igualmente disculpa las molestias que puede haber generado el error ya que da para confusión. Nuevamente gracias por hacernos notar el error y suerte con el resto de la tarea!

FelipeMunozMoraga commented 8 months ago

Hola! no te preocupes por llevar la contraria, se agradece que estés atento a los detalles y preocupado por entregar la mejor tarea posible. La idea es que selected y body sean un conjunto de jugadores, por lo que su largo no es el numero de atributos de un jugador sino que el numero que hay de jugadores, por eso se valida que sean igual a quantity, si fuera como tu indicas, solo funcionaría cuando les pidamos que la cantidad sea justo el numero de atributos. En este caso quantity es 4, y ni el expected ni el response tienen jugadores con 4 atributos, sino que se busca que retornen 4 jugadores.

Quedo atento a cualquier duda o consulta, pero les doy la certeza de que incluso retornando un response distinto al expected (por lo de las 2 assists) el test puede retornar true