35863586 ]
35873587 }
35883588 ]
3589+ },
3590+ {
3591+ "name" : " Chunk 11 — Matched Case" ,
3592+ "item" : [
3593+ {
3594+ "name" : " Legacy" ,
3595+ "item" : [
3596+ {
3597+ "name" : " No match: matched_case absent" ,
3598+ "event" : [
3599+ {
3600+ "listen" : " prerequest" ,
3601+ "script" : {
3602+ "type" : " text/javascript" ,
3603+ "exec" : [
3604+ " eval(pm.globals.get('__helpers'));" ,
3605+ " setLegacyEvalReq('x+1', 'x+2', {strict_syntax:false, cases:[{answer:'x+3', feedback:'Try x+3.'}]});"
3606+ ]
3607+ }
3608+ },
3609+ {
3610+ "listen" : " test" ,
3611+ "script" : {
3612+ "type" : " text/javascript" ,
3613+ "exec" : [
3614+ " var raw = pm.response.json();" ,
3615+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3616+ " pm.test('is_correct is false', function () { pm.expect(r.result.is_correct).to.be.false; });" ,
3617+ " pm.test('matched_case is absent', function () { pm.expect(r.result).to.not.have.property('matched_case'); });" ,
3618+ " pm.test('feedback is absent', function () { pm.expect(r.result).to.not.have.property('feedback'); });"
3619+ ]
3620+ }
3621+ }
3622+ ],
3623+ "request" : {
3624+ "method" : " POST" ,
3625+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3626+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3627+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3628+ }
3629+ },
3630+ {
3631+ "name" : " First case match: matched_case is 0" ,
3632+ "event" : [
3633+ {
3634+ "listen" : " prerequest" ,
3635+ "script" : {
3636+ "type" : " text/javascript" ,
3637+ "exec" : [
3638+ " eval(pm.globals.get('__helpers'));" ,
3639+ " setLegacyEvalReq('x+1', 'x+2', {strict_syntax:false, cases:[{answer:'x+1', feedback:'You entered x+1.'}]});"
3640+ ]
3641+ }
3642+ },
3643+ {
3644+ "listen" : " test" ,
3645+ "script" : {
3646+ "type" : " text/javascript" ,
3647+ "exec" : [
3648+ " var raw = pm.response.json();" ,
3649+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3650+ " pm.test('is_correct is false', function () { pm.expect(r.result.is_correct).to.be.false; });" ,
3651+ " pm.test('matched_case is 0', function () { pm.expect(r.result.matched_case).to.equal(0); });" ,
3652+ " pm.test('feedback is case message', function () { pm.expect(r.result.feedback).to.equal('You entered x+1.'); });"
3653+ ]
3654+ }
3655+ }
3656+ ],
3657+ "request" : {
3658+ "method" : " POST" ,
3659+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3660+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3661+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3662+ }
3663+ },
3664+ {
3665+ "name" : " Second case match: matched_case is 1" ,
3666+ "event" : [
3667+ {
3668+ "listen" : " prerequest" ,
3669+ "script" : {
3670+ "type" : " text/javascript" ,
3671+ "exec" : [
3672+ " eval(pm.globals.get('__helpers'));" ,
3673+ " setLegacyEvalReq('x+1', 'x+2', {strict_syntax:false, cases:[{answer:'x+3', feedback:'Not case 0.'},{answer:'x+1', feedback:'You entered x+1.'}]});"
3674+ ]
3675+ }
3676+ },
3677+ {
3678+ "listen" : " test" ,
3679+ "script" : {
3680+ "type" : " text/javascript" ,
3681+ "exec" : [
3682+ " var raw = pm.response.json();" ,
3683+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3684+ " pm.test('matched_case is 1', function () { pm.expect(r.result.matched_case).to.equal(1); });" ,
3685+ " pm.test('feedback is case 1 message', function () { pm.expect(r.result.feedback).to.equal('You entered x+1.'); });"
3686+ ]
3687+ }
3688+ }
3689+ ],
3690+ "request" : {
3691+ "method" : " POST" ,
3692+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3693+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3694+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3695+ }
3696+ },
3697+ {
3698+ "name" : " Case mark override: is_correct overridden to true" ,
3699+ "event" : [
3700+ {
3701+ "listen" : " prerequest" ,
3702+ "script" : {
3703+ "type" : " text/javascript" ,
3704+ "exec" : [
3705+ " eval(pm.globals.get('__helpers'));" ,
3706+ " setLegacyEvalReq('x+1', 'x+2', {strict_syntax:false, cases:[{answer:'x+1', feedback:'Close!', mark:1}]});"
3707+ ]
3708+ }
3709+ },
3710+ {
3711+ "listen" : " test" ,
3712+ "script" : {
3713+ "type" : " text/javascript" ,
3714+ "exec" : [
3715+ " var raw = pm.response.json();" ,
3716+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3717+ " pm.test('matched_case is 0', function () { pm.expect(r.result.matched_case).to.equal(0); });" ,
3718+ " pm.test('is_correct overridden to true', function () { pm.expect(r.result.is_correct).to.be.true; });" ,
3719+ " pm.test('feedback is case message', function () { pm.expect(r.result.feedback).to.equal('Close!'); });"
3720+ ]
3721+ }
3722+ }
3723+ ],
3724+ "request" : {
3725+ "method" : " POST" ,
3726+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3727+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3728+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3729+ }
3730+ }
3731+ ]
3732+ },
3733+ {
3734+ "name" : " muEd" ,
3735+ "item" : [
3736+ {
3737+ "name" : " No match: matchedCase is null" ,
3738+ "event" : [
3739+ {
3740+ "listen" : " prerequest" ,
3741+ "script" : {
3742+ "type" : " text/javascript" ,
3743+ "exec" : [
3744+ " eval(pm.globals.get('__helpers'));" ,
3745+ " setMuEdEvalReq('x+1', 'x+2', {strict_syntax:false, cases:[{answer:'x+3', feedback:'Try x+3.'}]});"
3746+ ]
3747+ }
3748+ },
3749+ {
3750+ "listen" : " test" ,
3751+ "script" : {
3752+ "type" : " text/javascript" ,
3753+ "exec" : [
3754+ " var raw = pm.response.json();" ,
3755+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3756+ " pm.test('response is an array', function () { pm.expect(r).to.be.an('array'); });" ,
3757+ " pm.test('awardedPoints is 0', function () { pm.expect(r[0].awardedPoints).to.equal(0); });" ,
3758+ " pm.test('matchedCase is null', function () { pm.expect(r[0].matchedCase).to.be.null; });"
3759+ ]
3760+ }
3761+ }
3762+ ],
3763+ "request" : {
3764+ "method" : " POST" ,
3765+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3766+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3767+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3768+ }
3769+ },
3770+ {
3771+ "name" : " First case match: matchedCase is 0" ,
3772+ "event" : [
3773+ {
3774+ "listen" : " prerequest" ,
3775+ "script" : {
3776+ "type" : " text/javascript" ,
3777+ "exec" : [
3778+ " eval(pm.globals.get('__helpers'));" ,
3779+ " setMuEdEvalReq('100+100.1(j)', '100+100.1j', {atol:0,rtol:0,strict_syntax:false,physical_quantity:false,elementary_functions:true,cases:[{answer:'100+100.1(j)',params:{atol:0,rtol:0,strict_syntax:false,physical_quantity:false,elementary_functions:true},feedback:'Hello'}]});"
3780+ ]
3781+ }
3782+ },
3783+ {
3784+ "listen" : " test" ,
3785+ "script" : {
3786+ "type" : " text/javascript" ,
3787+ "exec" : [
3788+ " var raw = pm.response.json();" ,
3789+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3790+ " pm.test('response is an array', function () { pm.expect(r).to.be.an('array'); });" ,
3791+ " pm.test('matchedCase is 0', function () { pm.expect(r[0].matchedCase).to.equal(0); });" ,
3792+ " pm.test('message is case feedback', function () { pm.expect(r[0].message).to.equal('Hello'); });"
3793+ ]
3794+ }
3795+ }
3796+ ],
3797+ "request" : {
3798+ "method" : " POST" ,
3799+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3800+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3801+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3802+ }
3803+ },
3804+ {
3805+ "name" : " Second case match: matchedCase is 1" ,
3806+ "event" : [
3807+ {
3808+ "listen" : " prerequest" ,
3809+ "script" : {
3810+ "type" : " text/javascript" ,
3811+ "exec" : [
3812+ " eval(pm.globals.get('__helpers'));" ,
3813+ " setMuEdEvalReq('x+1', 'x+2', {strict_syntax:false, cases:[{answer:'x+3', feedback:'Not case 0.'},{answer:'x+1', feedback:'This is case 1.'}]});"
3814+ ]
3815+ }
3816+ },
3817+ {
3818+ "listen" : " test" ,
3819+ "script" : {
3820+ "type" : " text/javascript" ,
3821+ "exec" : [
3822+ " var raw = pm.response.json();" ,
3823+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3824+ " pm.test('matchedCase is 1', function () { pm.expect(r[0].matchedCase).to.equal(1); });" ,
3825+ " pm.test('message is case 1 feedback', function () { pm.expect(r[0].message).to.equal('This is case 1.'); });"
3826+ ]
3827+ }
3828+ }
3829+ ],
3830+ "request" : {
3831+ "method" : " POST" ,
3832+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3833+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3834+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3835+ }
3836+ },
3837+ {
3838+ "name" : " Correct: matchedCase is null" ,
3839+ "event" : [
3840+ {
3841+ "listen" : " prerequest" ,
3842+ "script" : {
3843+ "type" : " text/javascript" ,
3844+ "exec" : [
3845+ " eval(pm.globals.get('__helpers'));" ,
3846+ " setMuEdEvalReq('x+1', 'x+1', {strict_syntax:false, cases:[{answer:'x+1', feedback:'Matched but not checked.'}]});"
3847+ ]
3848+ }
3849+ },
3850+ {
3851+ "listen" : " test" ,
3852+ "script" : {
3853+ "type" : " text/javascript" ,
3854+ "exec" : [
3855+ " var raw = pm.response.json();" ,
3856+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3857+ " pm.test('awardedPoints is 1', function () { pm.expect(r[0].awardedPoints).to.equal(1); });" ,
3858+ " pm.test('matchedCase is null', function () { pm.expect(r[0].matchedCase).to.be.null; });"
3859+ ]
3860+ }
3861+ }
3862+ ],
3863+ "request" : {
3864+ "method" : " POST" ,
3865+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3866+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3867+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3868+ }
3869+ },
3870+ {
3871+ "name" : " Case mark override: awardedPoints is 1" ,
3872+ "event" : [
3873+ {
3874+ "listen" : " prerequest" ,
3875+ "script" : {
3876+ "type" : " text/javascript" ,
3877+ "exec" : [
3878+ " eval(pm.globals.get('__helpers'));" ,
3879+ " setMuEdEvalReq('x+1', 'x+2', {strict_syntax:false, cases:[{answer:'x+1', feedback:'Close enough!', mark:1}]});"
3880+ ]
3881+ }
3882+ },
3883+ {
3884+ "listen" : " test" ,
3885+ "script" : {
3886+ "type" : " text/javascript" ,
3887+ "exec" : [
3888+ " var raw = pm.response.json();" ,
3889+ " var r = (raw.body !== undefined) ? JSON.parse(raw.body) : raw;" ,
3890+ " pm.test('matchedCase is 0', function () { pm.expect(r[0].matchedCase).to.equal(0); });" ,
3891+ " pm.test('awardedPoints overridden to 1', function () { pm.expect(r[0].awardedPoints).to.equal(1); });" ,
3892+ " pm.test('message is case feedback', function () { pm.expect(r[0].message).to.equal('Close enough!'); });"
3893+ ]
3894+ }
3895+ }
3896+ ],
3897+ "request" : {
3898+ "method" : " POST" ,
3899+ "header" : [{ "key" : " Content-Type" , "value" : " application/json" }],
3900+ "body" : { "mode" : " raw" , "raw" : " {{lambdaEvent}}" , "options" : { "raw" : { "language" : " json" } } },
3901+ "url" : { "raw" : " {{requestUrl}}" , "host" : [" {{requestUrl}}" ] }
3902+ }
3903+ }
3904+ ]
3905+ }
3906+ ]
35893907 }
35903908 ]
35913909}
0 commit comments