public Cella CreaCella() { Cella c = new Cella(); cella.Add(c); return(c); }
public void TestMossaValida(string cellaPartenza, string cellaArrivo, Type tipoPezzo, bool bianco) { Cella partenza = new Cella(cellaPartenza); Cella arrivo = new Cella(cellaArrivo); Pezzo p = (Pezzo)Activator.CreateInstance(tipoPezzo, new object[] { bianco }); bool mossaValida = p.Muovi(partenza, arrivo); Assert.True(mossaValida); }
public void TestMosseValida(string cellaPartenza, string[] celleArrivo, Type tipoPezzo, bool bianco) { Cella partenza = new Cella(cellaPartenza); Cella[] arrivi = celleArrivo.OrderBy(x => x).Select(x => new Cella(x)).ToArray(); Pezzo p = (Pezzo)Activator.CreateInstance(tipoPezzo, new object[] { bianco }); var cellePossibili = p.CalcolaMosseDisponibili(partenza).OrderBy(x => x.ToString()).ToArray(); Assert.AreEqual(arrivi, cellePossibili); }
public void TestMossaFuoriScacchiera(bool bianco) { var ts = CaricaPezziTestabili(); Cella c = new Cella(bianco ? "A8" : "A1"); foreach (var type in ts) { Pezzo p = (Pezzo)Activator.CreateInstance(type, new object[] { bianco }); var cellePossibili = p.CalcolaMosseDisponibili(c).ToList(); Assert.True(cellePossibili.TrueForAll(cl => cl.Valida())); } }
public void TestFormaleMosseValide(bool bianco) { var ts = CaricaPezziTestabili(); Cella c = new Cella("D4"); foreach (var type in ts) { Pezzo p = (Pezzo)Activator.CreateInstance(type, new object[] { bianco }); var cellePossibili = p.CalcolaMosseDisponibili(c); Assert.False(cellePossibili.Contains(c)); } }
public void TestAperturaPedone(string cellaPartenza, bool bianco) { Cella partenza = new Cella(cellaPartenza); Pedone p = new Pedone(bianco); Cella arrivoApertura = new Cella(partenza.LetteraColonna() + "" + (partenza.NRiga + (bianco ? 1 : -1) * 2)); bool mossaValida = p.Muovi(partenza, arrivoApertura); Assert.True(mossaValida); Cella arrivoSecondaMossa = new Cella(arrivoApertura.LetteraColonna() + "" + (arrivoApertura.NRiga + (bianco ? 1 : -1))); mossaValida = p.Muovi(arrivoApertura, arrivoSecondaMossa); Assert.True(mossaValida); }
private static void StampaFile(Pezzo p, Cella vecchia, Cella nuova) { writer.WriteLine($"Il pezzo {p.Name} si è spostato da {vecchia} a {nuova}"); }
public void AggiungiCella(Cella c) { Celle.Add(c); }