public void DéfinirUneClasseRealisantUneSomme() { var somme = new Somme(); Check.That(somme.PeutCalculer("2+3")).IsTrue(); Check.That(somme.PeutCalculer("2*3")).IsFalse(); Check.That(somme.Calculer("2+3")).IsEqualTo(5); }
public void DéfinirUneInterfaceStrategieAvec2ImplémentationsPrécédentesPasséesEnParamètreDUneClasseCliente() { var multiplication = new Multiplication(); var somme = new Somme(); // La classe Calculatrice ne doit pas analyser l'opération reçue dans la méthode Calculer, elle doit s'appuyer sur les 2 implémentations passées en paramètre du constructeur var calculatrice = new Calculatrice(new IOperation[] { multiplication, somme }); var resultatSomme = calculatrice.Calculer("1+2"); var resultatProduit = calculatrice.Calculer("2*3"); Check.That(resultatProduit).IsEqualTo(6); Check.That(resultatSomme).IsEqualTo(3); }
public Calculatrice(IOperation[] operation) { s = (Somme)operation[1]; m = (Multiplication) operation[0]; }