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];
 }