Changeset 1302

Show
Ignore:
Timestamp:
05/23/07 01:24:30 (2 years ago)
Author:
arj..@yirdis.nl
Message:

Refactored gaphas/tests/test_solver.py into a regular unit test case.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gaphas/trunk/gaphas/tests/test_solver.py

    r1300 r1302  
    1 import gaphas 
     1""" 
     2Unit tests for Gaphas' solver, mainly for speed testing. 
     3""" 
     4 
     5import unittest 
     6from timeit import Timer 
     7 
     8 
     9SETUP = """ 
    210from gaphas.solver import Solver, Variable 
    311from gaphas.constraint import EqualsConstraint, LessThanConstraint 
     12solver = Solver() 
     13v1, v2, v3 = Variable(1.0), Variable(2.0), Variable(3.0) 
     14c_eq = EqualsConstraint(v1, v2) 
     15solver.add_constraint(c_eq) 
     16""" 
    417 
    5 def speed_setup(): 
    6     """ 
    7     Speed test setup. Example of test run:: 
     18# Timeit constants 
     19REPEAT = 30 
     20NUMBER = 1000 
    821 
    9         python -m timeit.py -s 'from gaphas.tests.test_solver import speed_setup, speed_run_weakest; speed_setup()' 'speed_run_weakest()' 
    10     """ 
    11     global solver, v1, v2, v3, c_eq 
    12     solver = gaphas.solver.Solver() 
     22class SolverSpeedTestCase(unittest.TestCase): 
    1323 
    14     v1, v2, v3 = Variable(1.0), Variable(2.0), Variable(3.0) 
    15     c_eq = EqualsConstraint(v1, v2) 
    16     solver.add_constraint(c_eq) 
     24    def test_speed_run_weakest(self): 
     25        """ 
     26        Speed test for weakest variable. 
     27        """ 
    1728 
    18 def speed_run_weakest(): 
    19     """ 
    20     Speed test for weakest variable.peed_run_weakest()' 
     29        results = Timer(setup=SETUP, stmt=""" 
     30v1.value = 5.0 
     31solver.weakest_variable(c_eq.variables())""").repeat(repeat=REPEAT, number=NUMBER) 
    2132 
    22     """ 
    23     global solver, v1, v2, v3, c_eq 
     33        # Print the average of the best 10 runs: 
     34        results.sort() 
     35        print '[Avg: %gms]' % ((sum(results[:10]) / 10) * 1000) 
    2436 
    25     v1.value = 5.0 
    26     solver.weakest_variable(c_eq.variables()) 
     37 
     38if __name__ == '__main__': 
     39    unittest.main() 
     40 
     41# vim:sw=4:et:ai