-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_interface.py
More file actions
131 lines (122 loc) · 27.8 KB
/
Copy pathtest_interface.py
File metadata and controls
131 lines (122 loc) · 27.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
from interface import *
def test_invertor():
plan = [
"(SELECT_COMMITTEE_CHAIR_ZHANG_AI)",
"(TAKE_DEFICIENCY_COURSE_CSE340_ZERO_ONE_ZERO_ONE)",
"(DEFEND);(defend) has an unsatisfied preconditon at time 1 : (Follow each of: : (Set (current_num_ten) to true) : and (Set (has_taken_cse599b) to true) : and (Set (has_taken_cse599a) to true) : and (Set (completed_specialization) to true) : and (Set (has_committee_member3) to true) : and (Set (has_committee_member2) to true) : and (Set (has_committee_done) to true) : and (Set (has_committee_chair_done) to true) : )"
]
"""
plan = ["(SELECT_COMMITTEE_MEMBER_2_LIU);--",
"(SELECT_COMMITTEE_CHAIR_ZHANG_AI)",
"(TAKE_DEFICIENCY_COURSE_CSE355_ZERO_ONE_ZERO_ONE);--",
"(SELECT_COMMITTEE_MEMBER_3_AMOR);--",
"(TAKE_DEFICIENCY_COURSE_CSE310_ZERO_ONE_ONE_TWO);--",
"(TAKE_DEFICIENCY_COURSE_CSE360_ZERO_ONE_TWO_THREE);--",
"(COMPLETE_SEMESTER_3);--",
"(COMPLETE_SEMESTER);--",
"(TAKE_CSE599A_ZERO_ONE_ZERO_ONE);--",
"(TAKE_NORMAL_COURSE_CSE574_APPLICATIONS_ONE_TWO_ONE_TWO);--",
"(TAKE_NORMAL_COURSE_CSE571_APPLICATIONS_TWO_THREE_TWO_THREE);--",
"(COMPLETE_SEMESTER_3);--",
"(COMPLETE_SEMESTER);--",
"(TAKE_NORMAL_COURSE_CSE563_SYSTEMS_THREE_FOUR_ZERO_ONE);--",
"(TAKE_NORMAL_COURSE_CSE555_FOUNDATIONS_FOUR_FIVE_ONE_TWO);--",
"(TAKE_NORMAL_COURSE_CSE552_FOUNDATIONS_FIVE_SIX_TWO_THREE);--",
"(COMPLETE_SEMESTER_3);--",
"(COMPLETE_SEMESTER);--",
"(TAKE_NORMAL_COURSE_CSE565_SYSTEMS_SIX_SEVEN_ZERO_ONE);--",
"(TAKE_NORMAL_COURSE_CSE575_APPLICATIONS_SEVEN_EIGHT_ONE_TWO);--",
"(SPECIALIZE_AI);--",
"(TAKE_NORMAL_COURSE_CSE509_APPLICATIONS_EIGHT_NINE_TWO_THREE);--",
"(COMPLETE_SEMESTER_3);--",
"(COMPLETE_SEMESTER);--",
"(TAKE_CSE599B_NINE_TEN_ZERO_ONE);--",
"(DEFEND);--"
]"""
inter = Interface()
print(inter.actions_to_ui(plan))
def test():
plan = [
{"name": "Add - End of Semester", "x": 0, "y": 1, "width": 12, "height": 1},
{"name":"Add Course - Embedded Operating Systems Internals (systems)",
"x": 0, "y": 0, "width": 12, "height": 1},
{"name": "Add Course - Software Project, Process and Quality Management (systems)",
"x": 0, "y": 0, "width": 12, "height": 1},
{"name": "Add Course - Computer Organization and Assembly Language Programming (deficiency)",
"x": 0, "y": 0, "width": 12, "height": 1},
{"name": "Add - End of Semester", "x": 0, "y": 1, "width": 12, "height": 1},
{"name": "Add Course - Software Verification, Validation and Testing (systems)",
"x": 0, "y": 2, "width": 12, "height": 1},
{"name": "Add Chair - Guoliang Xue (Specialization: big data)",
"x": 0, "y": 3, "width": 12, "height": 1},
{"name": "Add Specialization - Cybersecurity", "x": 0, "y": 10, "width": 12, "height": 1},
{"name": "Add Chair - Guoliang Xue (Specialization: big data)",
"x": 0, "y": 15, "width": 12, "height": 1},
{"name": "Add - End of Semester", "x": 0, "y": 4, "width": 12, "height": 1},
{"name": "Add Committee - Arunabha Sen (Specialization: none)",
"x": 0, "y": 5, "width": 12, "height": 1},
{"name": "Add Course - Thesis Course A (research)", "x": 0, "y": 4, "width": 12, "height": 1},
{"name": "Add - Defense", "x": 0, "y": 6, "width": 12, "height": 1},
{"name": "Add Course - Software Verification, Validation and Testing (systems)",
"x": 0, "y": 12, "width": 12, "height": 1},
]
inter = Interface(" ")
print(inter.ui_to_actions(plan))
def test_explanations():
plan = {
"0": "(SELECT_COMMITTEE_CHAIR_LIU_BIG_DATA);('ADD>>', 'select_committee_chair-has-preconditon-is_expert ?p ?x')\n('ADD>>', 'select_committee_chair-has-add-effect-chair_expertise ?x')\n('ADD>>', 'select_committee_chair-has-add-effect-has_committee_chair_done')\n('ADD>>', 'select_committee_chair-has-preconditon-selected ?p')\n('ADD>>', 'select_committee_chair-has-preconditon-has_committee_chair_done')\n('ADD>>', 'select_committee_chair-has-add-effect-has_committee_chair ?p')\n('ADD>>', 'select_committee_chair-has-add-effect-selected ?p')\n",
"2": "(TAKE_DEFICIENCY_COURSE_CSE330_ZERO_ONE_ZERO_ONE);('DEL>>', 'take_deficiency_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_deficiency_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_deficiency_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_deficiency_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_deficiency_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_deficiency_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_deficiency_course-has-preconditon-current_num ?n1')\n",
"3": "(SELECT_COMMITTEE_MEMBER_3_AMOR);('DEL>>', 'select_committee_member_3-has-add-effect-selected ?p')\n('DEL>>', 'select_committee_member_3-has-preconditon-selected ?p')\n('DEL>>', 'select_committee_member_3-has-preconditon-has_committee_member2')\n('DEL>>', 'select_committee_member_3-has-add-effect-has_committee_member3')\n('DEL>>', 'select_committee_member_3-has-add-effect-has_committee_done')\n",
"4": "(TAKE_DEFICIENCY_COURSE_CSE230_ZERO_ONE_ONE_TWO);('DEL>>', 'take_deficiency_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_deficiency_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_deficiency_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_deficiency_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_deficiency_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_deficiency_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_deficiency_course-has-preconditon-current_num ?n1')\n",
"5": "(TAKE_DEFICIENCY_COURSE_CSE340_ZERO_ONE_TWO_THREE);('DEL>>', 'take_deficiency_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_deficiency_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_deficiency_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_deficiency_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_deficiency_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_deficiency_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_deficiency_course-has-preconditon-current_num ?n1')\n",
"6": "(TAKE_NORMAL_COURSE_CSE510_APPLICATIONS_ZERO_ONE_THREE_FOUR);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"7": "(COMPLETE_SEMESTER_4);('DEL>>', 'complete_semester-has-preconditon-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-delete-effect-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-add-effect-sem_quota zero')\n",
"8": "(COMPLETE_SEMESTER);('DEL>>', 'complete_semester-has-preconditon-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-delete-effect-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-add-effect-sem_quota zero')\n",
"9": "(TAKE_CSE599A_ONE_TWO_ZERO_ONE);('DEL>>', 'take_CSE599a-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_CSE599a-has-preconditon-current_num ?n1')\n('DEL>>', 'take_CSE599a-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_CSE599a-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_CSE599a-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_CSE599a-has-add-effect-has_taken CSE599a')\n('DEL>>', 'take_CSE599a-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_CSE599a-has-add-effect-current_num ?n2')\n('DEL>>', 'take_CSE599a-has-delete-effect-current_num ?n1')\n",
"10": "(TAKE_NORMAL_COURSE_CSE563_SYSTEMS_TWO_THREE_ONE_TWO);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"11": "(TAKE_NORMAL_COURSE_CSE555_FOUNDATIONS_THREE_FOUR_TWO_THREE);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"12": "(TAKE_NORMAL_COURSE_CSE512_APPLICATIONS_FOUR_FIVE_THREE_FOUR);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"13": "(COMPLETE_SEMESTER_4);('DEL>>', 'complete_semester-has-preconditon-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-delete-effect-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-add-effect-sem_quota zero')\n",
"14": "(COMPLETE_SEMESTER);('DEL>>', 'complete_semester-has-preconditon-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-delete-effect-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-add-effect-sem_quota zero')\n",
"15": "(TAKE_NORMAL_COURSE_CSE574_APPLICATIONS_FIVE_SIX_ZERO_ONE);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"16": "(TAKE_NORMAL_COURSE_CSE552_FOUNDATIONS_SIX_SEVEN_ONE_TWO);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"17": "(TAKE_NORMAL_COURSE_CSE572_APPLICATIONS_SEVEN_EIGHT_TWO_THREE);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"18": "(SPECIALIZE_BIG_DATA);('DEL>>', 'specialize_big_data-has-add-effect-completed_specialization')\n",
"19": "(TAKE_NORMAL_COURSE_CSE565_SYSTEMS_EIGHT_NINE_THREE_FOUR);('DEL>>', 'take_normal_course-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_normal_course-has-add-effect-has_taken ?c')\n('DEL>>', 'take_normal_course-has-preconditon-sem_quota ?s1')\n('DEL>>', 'take_normal_course-has-preconditon-current_num ?n1')\n('DEL>>', 'take_normal_course-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_normal_course-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_normal_course-has-add-effect-completed_concentration ?x')\n('DEL>>', 'take_normal_course-has-add-effect-current_num ?n2')\n('DEL>>', 'take_normal_course-has-preconditon-is_concentration ?c ?x')\n",
"20": "(COMPLETE_SEMESTER_4);('DEL>>', 'complete_semester-has-preconditon-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-delete-effect-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-add-effect-sem_quota zero')\n",
"21": "(COMPLETE_SEMESTER);('DEL>>', 'complete_semester-has-preconditon-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-delete-effect-ready_to_complete_semester')\n('DEL>>', 'complete_semester-has-add-effect-sem_quota zero')\n",
"22": "(TAKE_CSE599B_NINE_TEN_ZERO_ONE);('DEL>>', 'take_CSE599b-has-delete-effect-sem_quota ?s1')\n('DEL>>', 'take_CSE599b-has-delete-effect-current_num ?n1')\n('DEL>>', 'take_CSE599b-has-add-effect-has_taken CSE599b')\n('DEL>>', 'take_CSE599b-has-add-effect-current_num ?n2')\n('DEL>>', 'take_CSE599b-has-preconditon-next_num ?s1 ?s2')\n('DEL>>', 'take_CSE599b-has-preconditon-next_num ?n1 ?n2')\n('DEL>>', 'take_CSE599b-has-preconditon-current_num ?n1')\n('DEL>>', 'take_CSE599b-has-add-effect-sem_quota ?s2')\n('DEL>>', 'take_CSE599b-has-preconditon-sem_quota ?s1')\n",
"23": "(DEFEND);('DEL>>', 'defend-has-add-effect-defended')\n"
}
plan2 = {
"0": "(SELECT_COMMITTEE_CHAIR_LIU_BIG_DATA);('ADD>>', 'select_committee_chair-has-neg-preconditon- has_committee_chair_done')\n('ADD>>', 'select_committee_chair-has-preconditon- is_expert ?p ?x')\n",
"1": "(SELECT_COMMITTEE_MEMBER_2_CANDAN);('ADD>>', 'select_committee_member_2-has-neg-preconditon- has_committee_member2')\n",
"2": "(TAKE_DEFICIENCY_COURSE_CSE230_ZERO_ONE_ZERO_ONE);('ADD>>', 'take_deficiency_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_deficiency_course-has-neg-preconditon- current_num ten')\n('ADD>>', 'take_deficiency_course-has-neg-preconditon- sem_quota four')\n",
"3": "(SELECT_COMMITTEE_MEMBER_3_AMOR);('ADD>>', 'select_committee_member_3-has-neg-preconditon- has_committee_member3')\n",
"4": "(TAKE_DEFICIENCY_COURSE_CSE330_ZERO_ONE_ONE_TWO);('ADD>>', 'take_deficiency_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_deficiency_course-has-neg-preconditon- current_num ten')\n('ADD>>', 'take_deficiency_course-has-neg-preconditon- sem_quota four')\n",
"5": "(TAKE_NORMAL_COURSE_CSE510_APPLICATIONS_ZERO_ONE_TWO_THREE);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"6": "(TAKE_CSE599A_ONE_TWO_THREE_FOUR);('ADD>>', 'take_CSE599a-has-neg-preconditon- has_taken CSE599a')\n('ADD>>', 'take_CSE599a-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_CSE599a-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_CSE599a-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_CSE599a-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_CSE599a-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_CSE599a-has-neg-preconditon- current_num ten')\n('ADD>>', 'take_CSE599a-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_CSE599a-has-preconditon- has_committee_chair_done')\n('ADD>>', 'take_CSE599a-has-preconditon- has_taken CSE360')\n",
"7": "(COMPLETE_SEMESTER_4);('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota seven')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota zero')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota five')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota six')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota ten')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota nine')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota eight')\n",
"8": "(COMPLETE_SEMESTER);('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota seven')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota zero')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota five')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota six')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota ten')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota nine')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota eight')\n",
"9": "(TAKE_NORMAL_COURSE_CSE563_SYSTEMS_TWO_THREE_ZERO_ONE);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"10": "(TAKE_NORMAL_COURSE_CSE569_FOUNDATIONS_THREE_FOUR_ONE_TWO);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"11": "(TAKE_NORMAL_COURSE_CSE512_APPLICATIONS_FOUR_FIVE_TWO_THREE);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"12": "(TAKE_NORMAL_COURSE_CSE572_APPLICATIONS_FIVE_SIX_THREE_FOUR);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"13": "(SPECIALIZE_BIG_DATA);('ADD>>', 'specialize_big_data-has-preconditon- chair_expertise big_data')\n('ADD>>', 'specialize_big_data-has-preconditon- has_taken CSE572')\n('ADD>>', 'specialize_big_data-has-preconditon- has_taken CSE512')\n('ADD>>', 'specialize_big_data-has-preconditon- has_taken CSE510')\n('ADD>>', 'specialize_big_data-has-neg-preconditon- completed_specialization')\n('ADD>>', 'specialize_big_data-has-preconditon- has_committee_chair_done')\n",
"14": "(COMPLETE_SEMESTER_4);('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota seven')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota zero')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota five')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota six')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota ten')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota nine')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota eight')\n",
"15": "(COMPLETE_SEMESTER);('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota seven')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota zero')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota five')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota six')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota ten')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota nine')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota eight')\n",
"16": "(TAKE_NORMAL_COURSE_CSE574_APPLICATIONS_SIX_SEVEN_ZERO_ONE);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"17": "(TAKE_NORMAL_COURSE_CSE555_FOUNDATIONS_SEVEN_EIGHT_ONE_TWO);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"18": "(TAKE_NORMAL_COURSE_CSE552_FOUNDATIONS_EIGHT_NINE_TWO_THREE);('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_normal_course-has-neg-preconditon- has_taken ?c')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_normal_course-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_normal_course-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_normal_course-has-neg-preconditon- current_num ten')\n",
"19": "(TAKE_CSE599B_NINE_TEN_THREE_FOUR);('ADD>>', 'take_CSE599b-has-preconditon- has_taken CSE230')\n('ADD>>', 'take_CSE599b-has-preconditon- has_taken CSE355')\n('ADD>>', 'take_CSE599b-has-preconditon- has_taken CSE310')\n('ADD>>', 'take_CSE599b-has-preconditon- has_committee_done')\n('ADD>>', 'take_CSE599b-has-preconditon- has_taken CSE330')\n('ADD>>', 'take_CSE599b-has-neg-preconditon- current_num ten')\n('ADD>>', 'take_CSE599b-has-neg-preconditon- sem_quota four')\n('ADD>>', 'take_CSE599b-has-preconditon- has_taken CSE340')\n('ADD>>', 'take_CSE599b-has-preconditon- has_taken CSE360')\n('ADD>>', 'take_CSE599b-has-neg-preconditon- has_taken CSE599b')\n('ADD>>', 'take_CSE599b-has-preconditon- current_num nine')\n",
"20": "(COMPLETE_SEMESTER_4);('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota seven')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota zero')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota five')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota six')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota ten')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota nine')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota eight')\n",
"21": "(COMPLETE_SEMESTER);('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota seven')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota zero')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota five')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota six')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota ten')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota nine')\n('ADD>>', 'complete_semester-has-neg-preconditon- sem_quota eight')\n",
"22": "(DEFEND);('ADD>>', 'defend-has-preconditon- current_num ten')\n('ADD>>', 'defend-has-preconditon- completed_specialization')\n('ADD>>', 'defend-has-preconditon- has_committee_chair_done')\n('ADD>>', 'defend-has-preconditon- completed_concentration foundations')\n('ADD>>', 'defend-has-preconditon- has_taken CSE599b')\n('ADD>>', 'defend-has-preconditon- has_taken CSE599a')\n('ADD>>', 'defend-has-preconditon- has_committee_done')\n('ADD>>', 'defend-has-preconditon- completed_concentration applications')\n('ADD>>', 'defend-has-preconditon- has_committee_member3')\n('ADD>>', 'defend-has-preconditon- completed_concentration systems')\n('ADD>>', 'defend-has-neg-preconditon- sem_quota four')\n('ADD>>', 'defend-has-preconditon- has_committee_member2')\n"
}
inter = Interface()
#print inter.actionsToUI({"0": ""}, True)
print inter.actions_to_ui(plan2, True)
if __name__ == "__main__":
test()
test_invertor()
test_explanations()