public void DéfinirUneClasseRealisantUneMultiplication()
        {
            var multiplication = new Multiplication();

            Check.That(multiplication.PeutCalculer("2*3")).IsTrue();
            Check.That(multiplication.PeutCalculer("2+3")).IsFalse();
            Check.That(multiplication.Calculer("2*3")).IsEqualTo(6);
        }
        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];
 }