Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
8304e903
Commit
8304e903
authored
Apr 04, 2013
by
Diana Huang
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1797 from MITx/diana/fix-matlab-queueing-message
Matlab Unit Tests and Minor Bugfix
parents
fb14bedf
2230fe3c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
65 additions
and
4 deletions
+65
-4
common/lib/capa/capa/inputtypes.py
+3
-3
common/lib/capa/capa/tests/test_inputtypes.py
+62
-1
No files found.
common/lib/capa/capa/inputtypes.py
View file @
8304e903
...
@@ -655,9 +655,9 @@ class MatlabInput(CodeInput):
...
@@ -655,9 +655,9 @@ class MatlabInput(CodeInput):
# Check if problem has been queued
# Check if problem has been queued
self
.
queuename
=
'matlab'
self
.
queuename
=
'matlab'
self
.
queue_msg
=
''
self
.
queue_msg
=
''
if
'queue_msg'
in
self
.
input_state
and
self
.
status
in
[
'queued'
,
'incomplete'
,
'unsubmitted'
]:
if
'queue_msg'
in
self
.
input_state
and
self
.
status
in
[
'queued'
,
'incomplete'
,
'unsubmitted'
]:
self
.
queue_msg
=
self
.
input_state
[
'queue_msg'
]
self
.
queue_msg
=
self
.
input_state
[
'queue_msg'
]
if
'queue
d'
in
self
.
input_state
and
self
.
input_state
[
'queuestate'
]
is
not
None
:
if
'queue
state'
in
self
.
input_state
and
self
.
input_state
[
'queuestate'
]
==
'queued'
:
self
.
status
=
'queued'
self
.
status
=
'queued'
self
.
queue_len
=
1
self
.
queue_len
=
1
self
.
msg
=
self
.
plot_submitted_msg
self
.
msg
=
self
.
plot_submitted_msg
...
@@ -702,7 +702,7 @@ class MatlabInput(CodeInput):
...
@@ -702,7 +702,7 @@ class MatlabInput(CodeInput):
def
_extra_context
(
self
):
def
_extra_context
(
self
):
''' Set up additional context variables'''
''' Set up additional context variables'''
extra_context
=
{
extra_context
=
{
'queue_len'
:
s
elf
.
queue_len
,
'queue_len'
:
s
tr
(
self
.
queue_len
)
,
'queue_msg'
:
self
.
queue_msg
'queue_msg'
:
self
.
queue_msg
}
}
return
extra_context
return
extra_context
...
...
common/lib/capa/capa/tests/test_inputtypes.py
View file @
8304e903
...
@@ -361,7 +361,6 @@ class MatlabTest(unittest.TestCase):
...
@@ -361,7 +361,6 @@ class MatlabTest(unittest.TestCase):
'feedback'
:
{
'message'
:
'3'
},
}
'feedback'
:
{
'message'
:
'3'
},
}
elt
=
etree
.
fromstring
(
self
.
xml
)
elt
=
etree
.
fromstring
(
self
.
xml
)
input_class
=
lookup_tag
(
'matlabinput'
)
the_input
=
self
.
input_class
(
test_system
,
elt
,
state
)
the_input
=
self
.
input_class
(
test_system
,
elt
,
state
)
context
=
the_input
.
_get_render_context
()
context
=
the_input
.
_get_render_context
()
...
@@ -381,6 +380,31 @@ class MatlabTest(unittest.TestCase):
...
@@ -381,6 +380,31 @@ class MatlabTest(unittest.TestCase):
self
.
assertEqual
(
context
,
expected
)
self
.
assertEqual
(
context
,
expected
)
def
test_rendering_while_queued
(
self
):
state
=
{
'value'
:
'print "good evening"'
,
'status'
:
'incomplete'
,
'input_state'
:
{
'queuestate'
:
'queued'
},
}
elt
=
etree
.
fromstring
(
self
.
xml
)
the_input
=
self
.
input_class
(
test_system
,
elt
,
state
)
context
=
the_input
.
_get_render_context
()
expected
=
{
'id'
:
'prob_1_2'
,
'value'
:
'print "good evening"'
,
'status'
:
'queued'
,
'msg'
:
self
.
input_class
.
plot_submitted_msg
,
'mode'
:
self
.
mode
,
'rows'
:
self
.
rows
,
'cols'
:
self
.
cols
,
'queue_msg'
:
''
,
'linenumbers'
:
'true'
,
'hidden'
:
''
,
'tabsize'
:
int
(
self
.
tabsize
),
'queue_len'
:
'1'
,
}
self
.
assertEqual
(
context
,
expected
)
def
test_plot_data
(
self
):
def
test_plot_data
(
self
):
get
=
{
'submission'
:
'x = 1234;'
}
get
=
{
'submission'
:
'x = 1234;'
}
response
=
self
.
the_input
.
handle_ajax
(
"plot"
,
get
)
response
=
self
.
the_input
.
handle_ajax
(
"plot"
,
get
)
...
@@ -391,6 +415,43 @@ class MatlabTest(unittest.TestCase):
...
@@ -391,6 +415,43 @@ class MatlabTest(unittest.TestCase):
self
.
assertTrue
(
self
.
the_input
.
input_state
[
'queuekey'
]
is
not
None
)
self
.
assertTrue
(
self
.
the_input
.
input_state
[
'queuekey'
]
is
not
None
)
self
.
assertEqual
(
self
.
the_input
.
input_state
[
'queuestate'
],
'queued'
)
self
.
assertEqual
(
self
.
the_input
.
input_state
[
'queuestate'
],
'queued'
)
def
test_ungraded_response_success
(
self
):
queuekey
=
'abcd'
input_state
=
{
'queuekey'
:
queuekey
,
'queuestate'
:
'queued'
}
state
=
{
'value'
:
'print "good evening"'
,
'status'
:
'incomplete'
,
'input_state'
:
input_state
,
'feedback'
:
{
'message'
:
'3'
},
}
elt
=
etree
.
fromstring
(
self
.
xml
)
the_input
=
self
.
input_class
(
test_system
,
elt
,
state
)
inner_msg
=
'hello!'
queue_msg
=
json
.
dumps
({
'msg'
:
inner_msg
})
the_input
.
ungraded_response
(
queue_msg
,
queuekey
)
self
.
assertTrue
(
input_state
[
'queuekey'
]
is
None
)
self
.
assertTrue
(
input_state
[
'queuestate'
]
is
None
)
self
.
assertEqual
(
input_state
[
'queue_msg'
],
inner_msg
)
def
test_ungraded_response_key_mismatch
(
self
):
queuekey
=
'abcd'
input_state
=
{
'queuekey'
:
queuekey
,
'queuestate'
:
'queued'
}
state
=
{
'value'
:
'print "good evening"'
,
'status'
:
'incomplete'
,
'input_state'
:
input_state
,
'feedback'
:
{
'message'
:
'3'
},
}
elt
=
etree
.
fromstring
(
self
.
xml
)
the_input
=
self
.
input_class
(
test_system
,
elt
,
state
)
inner_msg
=
'hello!'
queue_msg
=
json
.
dumps
({
'msg'
:
inner_msg
})
the_input
.
ungraded_response
(
queue_msg
,
'abc'
)
self
.
assertEqual
(
input_state
[
'queuekey'
],
queuekey
)
self
.
assertEqual
(
input_state
[
'queuestate'
],
'queued'
)
self
.
assertFalse
(
'queue_msg'
in
input_state
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment