public void interpolate_2() { ps = new PerfSerie(); // Polynome 0.5 . x^2 + x -1 ps.add(new PerfPoint(3, 0.5 * Math.Pow(3, 2) + (3) - 1, false)); ps.add(new PerfPoint(1, 0.5 * Math.Pow(1, 2) + (1) - 1, false)); ps.add(new PerfPoint(-5, 0.5 * Math.Pow(-5, 2) + (-5) - 1, false)); ps.add(new PerfPoint(-1, 0.5 * Math.Pow(-1, 2) + (-1) - 1, false)); ps.add(new PerfPoint(8, 0.5 * Math.Pow(8, 2) + (8) - 1, false)); ps.setRange(); pi = new PolInter(ps); // Lève une exception quand aucun point n'est sélectionné bool result = false; try { ps.selectNone(); pi.interpolate(0.0); } catch (ModelException e) { result = (e.nature == AeroCalc.E_VOID_SYSTEM ? true : false); } Assert.IsTrue(result); // Test de la prédiction de niveau 2 ( polynôme ^2 ) result = true; double calculation = 0.0; double expected = 0.5 * Math.Pow(5, 2) + (5) - 1; // 16.5 try { ps.selectAll(); calculation = pi.interpolate(5); } catch (ModelException e) { // Dans ce cas, aucune exception ne doit être levée result = false; } Assert.AreEqual(expected, calculation); Assert.IsTrue(result); }
public void SetUp() { ps = new PerfSerie(); pi = new PolInter(ps); }