add vcs-* fields to debian/control
[debian/make-magic.git] / tests / groupedbfast.py
1 #!/usr/bin/env python
2
3 import lib.loaders
4 from core.bits import *
5 from core.marshal import ItemConverter
6 from digraphtools.predicate import predicate
7
8 want_coffee = ItemConverter().predicate_string_to_callable(' coffee ')
9 assert want_coffee(['coffee','tv']) == True
10 assert want_coffee(['fish','tv']) == False
11
12 # Items 
13 class wake_up(Item):
14         pass
15
16 class get_up(Item):
17         depends = (wake_up,)
18
19 class make_breakfast(Item):
20         depends = (get_up,)
21
22 class eat_breakfast(Item):
23         depends = (make_breakfast,)
24
25 class make_coffee(Item):
26         depends = (get_up,)
27         predicate = want_coffee
28
29 class drink_coffee(Item):
30         depends = (make_coffee,)
31         predicate = want_coffee
32
33 class have_breakfast(Group):
34         depends = (get_up,)
35         contains = (eat_breakfast, drink_coffee)
36
37 class walk_out_door(Item):
38         depends = (get_up, have_breakfast)
39
40 class go_to_work(Item):
41         description = 'Leave to go to work'
42         depends = (walk_out_door,)
43
44 # Tasks
45
46 items = [wake_up, get_up, have_breakfast, make_breakfast, eat_breakfast, make_coffee, drink_coffee, walk_out_door, go_to_work]
47 breakfast_task_factory = lib.loaders.TaskFactory(items)