예제 #1
0
파일: test_klu.py 프로젝트: objarni/KLU
 def test_two_programmers_two_areas_random_tasks_empiric(self):
     team = klu.team(2)
     project = klu.project(2)
     project.add_random_tasks(1000,seed=19)
     klu.run(project=project,team=team,level=5)
     programmer = team.member[1]
     programmer_knowledge = programmer.level
     self.assertEqual([8,9], programmer_knowledge)
예제 #2
0
파일: test_klu.py 프로젝트: objarni/KLU
 def test_becomes_expert_after_enough_time(self):
     team = klu.team(1)
     project = klu.project(1)
     project.add_random_tasks(1000)
     klu.run(project=project,team=team)
     programmer = team.member[0]
     programmer_knowledge = programmer.level
     self.assertEqual([9], programmer_knowledge)
예제 #3
0
파일: test_klu.py 프로젝트: objarni/KLU
 def test_single_area_first_programmer_becomes_expert(self):
     team = klu.team(2)
     project = klu.project(2)
     project.add_tasks([0,1] + [0]*10)
     klu.run(project=project,team=team,level=5)
     programmer = team.member[1]
     programmer_knowledge = programmer.level
     self.assertEqual([8,4], programmer_knowledge)
예제 #4
0
파일: test_klu.py 프로젝트: objarni/KLU
 def test_single_area_two_programmers_symmetry(self):
     team = klu.team(2)
     project = klu.project(1)
     project.add_random_tasks(1000)
     klu.run(project=project,team=team,level=5)
     programmer = team.member[0]
     programmer_knowledge = programmer.level
     self.assertEqual([5], programmer_knowledge)
예제 #5
0
파일: test_klu.py 프로젝트: objarni/KLU
 def test_becomes_expert_in_all_areas(self):
     team = klu.team(1)
     project = klu.project(2)
     project.add_tasks([0,1]*1000)
     klu.run(project=project,team=team,level=1)
     programmer = team.member[0]
     programmer_knowledge = programmer.level
     self.assertEqual([9,9], programmer_knowledge)
예제 #6
0
파일: test_klu.py 프로젝트: objarni/KLU
 def test_no_expertise_in_nonpracticed_area(self):
     team = klu.team(1)
     project = klu.project(2)
     project.add_tasks([0]*1000)
     klu.run(project=project,team=team,level=1)
     programmer = team.member[0]
     programmer_knowledge = programmer.level
     self.assertEqual([9,1], programmer_knowledge)
예제 #7
0
파일: webklu.py 프로젝트: objarni/KLU
print '<form action="webklu.py" method="get">'
programmers  = param('Number of programmers', 'programmers', 2)
todolength   = param('Number of tasks', 'todolength', 150)
areas        = param('Number of areas', 'areas', 4)
initiallevel = param('Initial knowledge level', 'initiallevel', 5)
seed         = param('Random seed', 'seed', 19)

print '    <input type="submit" value="Run" /><br />'

print '</form>'

number_of_areas = areas
number_of_tasks = todolength

project = klu.project(number_of_areas)
project.add_random_tasks(number_of_tasks,seed=seed)

def weblog(msg):
    print msg

team = klu.team(programmers)
time = klu.run(project = project, team = team, level = initiallevel, log = weblog)

team.rollcall(weblog)

def print_statistics(time, tasks, programmers):
    time_per_task = time / tasks
    time_per_programmertask = time*programmers/tasks
    print
    print "--- Statistics ---"