mathPlotting - unittest_math_plotting.py
Cerca
 











unittest_math_plotting.py

Caricato da: Delta
Scarica il programma completo

  1. #!/usr/bin/env python
  2. #*-* coding:utf-8 *-*
  3.  
  4. import unittest
  5. import mathPlotting
  6. import numpy as np
  7.  
  8. class Test_Function(unittest.TestCase):
  9.     def setUp(self):
  10.         self.f1=mathPlotting.Function('f(x)=x**2')
  11.         self.f2=mathPlotting.Function('g(x, y)=x*2-y+6')
  12.    
  13.     def test_get_formula(self):
  14.         """
  15.        questo test serve a validare
  16.        la funzione get_formula
  17.        """
  18.         #f1 function
  19.         self.assertEqual(self.f1.get_formula(), "x**2")
  20.         self.assertNotEqual(self.f1.get_formula(), "=x**2")
  21.         self.assertEqual(self.f1.get_formula(), self.f1.formula)
  22.         self.assertEqual(self.f1.get_formula('g(x)=x+2-3'), "x+2-3")
  23.         #f2 function
  24.         self.assertEqual(self.f2.get_formula(), "x*2-y+6")
  25.         self.assertNotEqual(self.f2.get_formula(), "x**2")
  26.         self.assertEqual(self.f2.get_formula(), self.f2.formula)
  27.    
  28.     def test_get_parameters(self):
  29.         """
  30.        questo test serve a validare
  31.        la funzione get_parameters
  32.        """
  33.         #f1 function
  34.         self.assertEqual(self.f1.get_parameters(), ['x'])
  35.         self.assertNotEqual(self.f1.get_parameters(), ["=x"])
  36.         self.assertEqual(self.f1.get_parameters(), self.f1.parameters)
  37.         self.assertEqual(self.f1.get_parameters('g(x)=x+2-3'), ['x'])
  38.         self.assertNotEqual(self.f1.get_parameters('g(x)=x+2-3'), ["(x"])
  39.         #f2 function
  40.         self.assertEqual(self.f2.get_parameters(), ['x', 'y'])
  41.         self.assertNotEqual(self.f2.get_parameters(), ["=x"])
  42.         self.assertEqual(self.f2.get_parameters(), self.f2.parameters)
  43.         self.assertEqual(self.f2.get_parameters('g(x, z)=x+2-3'), ['x', 'z'])
  44.         self.assertNotEqual(self.f2.get_parameters('g(x, z)=x+2-3'), ["(x", 'z'])
  45.        
  46.     def test_get_name(self):
  47.         """
  48.        questo test serve a validare
  49.        la funzione get_name
  50.        """
  51.         #f1 function
  52.         self.assertEqual(self.f1.get_name(), 'f')
  53.         self.assertNotEqual(self.f1.get_name(), 'x')
  54.         self.assertEqual(self.f1.get_name(), self.f1.name)
  55.         self.assertEqual(self.f1.get_name('g(x)=x+2-3'), 'g')
  56.         self.assertNotEqual(self.f1.get_name('g(x)=x+2-3'), 'f')
  57.         #f2 function
  58.         self.assertEqual(self.f2.get_name(), 'g')
  59.         self.assertNotEqual(self.f2.get_name(), 'x')
  60.         self.assertEqual(self.f2.get_name(), self.f2.name)
  61.         self.assertEqual(self.f2.get_name('j(x)=x+2-3'), 'j')
  62.         self.assertNotEqual(self.f2.get_name('j(x)=x+2-3'), 'f')
  63.        
  64.        
  65.     def test_evaluate_with_parameters(self):
  66.         """
  67.        questo test serve a validare
  68.        la funzione evaluate_with_parameters
  69.        """
  70.         #f1 function
  71.         self.assertEqual(self.f1.evaluate_with_parameters([3]), 9)
  72.         self.assertEqual(self.f1.evaluate_with_parameters([8]), 64)
  73.         self.assertNotEqual(self.f1.evaluate_with_parameters([3]), 12)
  74.         self.assertNotEqual(self.f1.evaluate_with_parameters([8]), 81)
  75.         #f2 function
  76.         self.assertEqual(self.f2.evaluate_with_parameters([3,  2]), 10)
  77.         self.assertEqual(self.f2.evaluate_with_parameters([8,  8]), 14)
  78.         self.assertNotEqual(self.f2.evaluate_with_parameters([3, 2]), 12)
  79.         self.assertNotEqual(self.f2.evaluate_with_parameters([8, 8]), 81)
  80.         #if f2.eval_with_parameters is called with minus params than needed, it
  81.         #raises NameError
  82.    
  83.    
  84.     def test_evaluate(self):
  85.         """
  86.        funzione che testa Function.evaluate()
  87.        (attualmente non funziona in caso di 2+ parametri)
  88.        """
  89.         #f1 function
  90.         self.assertNotEqual(self.f1.evaluate(), None)
  91.         for n in [1, 8, 25, 85, 100, 150, 253]:
  92.             self.assertEqual(len(self.f1.evaluate(valueNumber=n)), n)
  93.         self.assertEqual(self.f1.evaluate()[0], 100)
  94.         self.assertEqual(round(self.f1.evaluate()[-1], 2), 96.04)
  95.         self.assertEqual(round(self.f1.evaluate()[50], 2), 0)
  96.         #f2 function
  97.         self.assertNotEqual(self.f2.evaluate(), None)
  98.         for n in [1, 8, 25, 85, 100, 150, 253]:
  99.             self.assertEqual(len(self.f2.evaluate(valueNumber=n)), n)
  100.  
  101. if __name__=="__main__":
  102.     unittest.main()
 

Creative Commons License
Il layout di questo sito è concesso sotto licenza Creative Commons.
Per maggiori informazioni sulle licenze dei contenuti del sito, clicca.