public void RunTests() { //megtörténik a játékosváltás helyesen PlayerSettingsChanged("PP"); assert(PP && !PC && !CC); PlayerSettingsChanged("PC"); assert(!PP && PC && !CC); PlayerSettingsChanged("CC"); assert(!PP && !PC && CC); PlayerSettingsChanged("asd"); assert(!PP && !PC && CC); PlayerSettingsChanged("PP"); assert(Elements != null); //létrejönnek az elemek //megfelelő a tábla mérete (n*n) CreateGameTable(1); assert(Elements.Count == 1); CreateGameTable(50); assert(Elements.Count == 2500); //minden elem üres-e assert(Elements[12].Id == 12); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count); assert(Elements.Where(p => p.Text == "").Count() == Elements.Count); assert(Elements.Where(p => p.X == (p.Id / 50) && p.Y == p.Id - ((p.Id / 50) * 50) ).Count() == Elements.Count); //néhány lépés FieldChosen(0); FieldChosen(1); FieldChosen(2); FieldChosen(3); FieldChosen(4); //új játék hívása után újra üres-e a tábla NewGame(); assert(Elements.Count == 2500); assert(Elements[12].Id == 12); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count); assert(Elements.Where(p => p.Text == "").Count() == Elements.Count); assert(Elements.Where(p => p.X == (p.Id / 50) && p.Y == p.Id - ((p.Id / 50) * 50) ).Count() == Elements.Count); //két jó elem és egy rossz elem kiválasztása után kettővel kevesebb mezőre lehet lépni NewGame(); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count); FieldChosen(0); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count - 1); FieldChosen(1); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count - 2); FieldChosen(1); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count - 2); //A nextstep lép-e az adott mezőre PlayerSettingsChanged("PP"); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count); NextStep(Elements[0]); assert(Elements[0].Text == "X"); NextStep(Elements[1]); assert(Elements[1].Text == "O"); NextStep(Elements[2]); assert(Elements[2].Text == "X"); //a gépi játékos rak-e önmagától valahova PlayerSettingsChanged("PC"); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count); FieldChosen(0); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count - 2); //befejeződik-e a játék PlayerSettingsChanged("PP"); bool vege = false; GameEnded += delegate(object sender, WinEventArgs e) { vege = true; }; FieldChosen(0); FieldChosen(11); FieldChosen(1); FieldChosen(12); FieldChosen(2); FieldChosen(13); FieldChosen(3); FieldChosen(14); FieldChosen(4); assert(vege); //A kiírandó szövegek ellenőrzése PlayerSettingsChanged("PP"); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count); SetInfoFromActualState(); assert(InfoText.Equals("Next is X player")); FieldChosen(0); SetInfoFromActualState(); assert(InfoText.Equals("Next is O player")); CPUStep(); assert(Elements.Where(p => p.IsEnabled).Count() == Elements.Count - 2); assert(PlayerToString(true).Equals("X player")); assert(PlayerToString(false).Equals("O player")); PlayerSettingsChanged("PC"); assert(PlayerToString(true).Equals("X player")); assert(PlayerToString(false).Equals("O CPU")); PlayerSettingsChanged("CC"); assert(PlayerToString(true).Equals("X CPU")); assert(PlayerToString(false).Equals("O CPU")); }