RodrigoToroIcarte / IIC2113-2023-1

6 stars 0 forks source link

Duda sobre uso de Program.cs #178

Closed MartinAracena closed 9 months ago

MartinAracena commented 9 months ago

Buenas, Queria saber si se puede modificar el Program.cs. Especificamente, ejecutar alguna funcion de Game, para que haga todo lo que es separado de .Play(). Como ejemplo, poner Game.Load() y luego Game.Play()

RodrigoToroIcarte commented 9 months ago

No se puede porque los test cases hacen esto:

private void RunTest(string deckFolder, string testFile)
{
    View view = View.BuildTestingView(testFile);
    Game game = new Game(view, deckFolder);
    game.Play();

    string[] actualScript = view.GetScript();
    string[] expectedScript = File.ReadAllLines(testFile);
    CompareScripts(actualScript, expectedScript);
}

Entonces si agregas métodos como Game.Load() tendrías que cambiar el código del test case (que no es la idea).

Algo interesante es ver que el test case solo testea el output del view entregado al Game. Por lo mismo, si creas otro view internamente sus inputs/outputs no son pescados por los test cases (tal como explico aquí: https://github.com/RodrigoToroIcarte/IIC2113-2023-1/issues/177).

RodrigoToroIcarte commented 9 months ago

El Program.cs lo puedes cambiar todo lo que quieras... pero no cambies ni el constructor de Game ni su método Play(). O te vas a echar los test cases.