public void MatchSucceedsWithDenormalizedCorrectValues() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 50, Value = "1ab C 1" }, new TokenSpec { Label = "2", Percent = 50, Value = "2xyZ 2" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "1 A B C 1", "2 X Y Z 2" } }; var match = new Match(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.True(grade.Success); } }
public void MatchFailsWithIncorrectValues() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 50, Value = "1111" }, new TokenSpec { Label = "2", Percent = 50, Value = "2222" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "aaaa", "bbbb" } }; var match = new Match(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.False(grade.Success); } }
public void MatchAnySucceedsWithCorrectValues() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 50, Value = "ONE|TWO|THREE" }, new TokenSpec { Label = "2", Percent = 50, Value = "FOUR|FIVE|SIX" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "three", "five" } }; var match = new MatchAny(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.True(grade.Success); } }
public void MatchAnyFailsWithPartialCredit() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 10, Value = "OnE|TWO|ThReE" }, new TokenSpec { Label = "2", Percent = 90, Value = "4|5|6" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "two", "J" } }; var match = new MatchAny(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.False(grade.Success); Assert.Equal(10, grade.CorrectPercent); } }
public void MatchAlphaNumericFailsWithIncorrectValues() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 50, Value = "1111" }, new TokenSpec { Label = "2", Percent = 50, Value = "2222" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "@%@#%@#%@#%@^aaaa^^#@$^@$!#$!", "#%@^@#$^@#$@#$bbbb@%^@#^@%^@#$%@#" } }; var match = new MatchAlphaNumeric(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.False(grade.Success); } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, GradingContext context, RoleManager <IdentityRole> roleManager, UserManager <IdentityUser> userManager) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHsts(); } app.UseAuthentication(); app.UseHttpsRedirection(); app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Group Grading API V1"); }); app.UseMvc(); app.Run(async c => { c.Response.Redirect("swagger"); }); DummyData.Initialize(context, userManager).Wait(); }
public void MatchAlphaNumericSucceedsWithCorrectValues() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 50, Value = "1111Aa" }, new TokenSpec { Label = "2", Percent = 50, Value = "2222Bb" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "!$!@$!$%!%1111^%$^$%^$%^$%^Aa", "#@%$@#%^@#^$#$^2222@^#$^@$!@$!$Bb" } }; var match = new MatchAlphaNumeric(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.True(grade.Success); } }
public void MatchAllFailsWithPartialCredit() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 60, Value = "THREE|TWO|ONE" }, new TokenSpec { Label = "2", Percent = 40, Value = "SIX|FIVE|FOUR" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "one is smaller than two is smaller than three", "four is less than five is less than seven" } }; var match = new MatchAll(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.False(grade.Success); Assert.Equal(60, grade.CorrectPercent); } }
public void MatchAllFailsWithIncorrectValues() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 50, Value = "THREE|TWO|ONE" }, new TokenSpec { Label = "2", Percent = 50, Value = "SIX|FIVE|FOUR" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "one, two, four", "three five six" } }; var match = new MatchAll(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.False(grade.Success); } }
public void MatchAlphaNumericFailsWithPartialCredit() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 10, Value = "1111Aa" }, new TokenSpec { Label = "2", Percent = 90, Value = "2222Bb" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "^%@$#^$%@#^$%@^$@^#$@%#$%#$@%#@$%", "2222!Bb" } }; var match = new MatchAlphaNumeric(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.False(grade.Success); Assert.Equal(90, grade.CorrectPercent); } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, GradingContext context, RoleManager <IdentityRole> roleManager, UserManager <IdentityUser> userManager) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHsts(); } app.UseHttpsRedirection(); app.UseMvc(); //DummyData.Initialize(app); }
public void MatchAlphaNumericSucceedsWithCorrectSingleValues() { using (var context = new GradingContext()) { var problemContext = context.MockProblemContext(100, new TokenSpec { Label = "1", Percent = 100, Value = "123.456-7&8" } ); var problemFlag = new ProblemFlag { Id = Guid.NewGuid().ToString(), SubmissionId = Guid.NewGuid().ToString(), Tokens = new string[] { "..123~456~78" } }; var match = new MatchAlphaNumeric(context.Options, context.Logger, problemContext); var grade = match.GradeTokens(problemFlag); Assert.True(grade.Success); } }
/** * EvaluationController * * Constructor * * @param GradingContext context - database context * @param UserManager<IdentityUser> userManger - manages user identities */ public EvaluationController(GradingContext context, UserManager <IdentityUser> userManager) { _userManager = userManager; _context = context; }
public StudentsController(GradingContext context) { _context = context; }
/** * StudentGroupController * * Constructor * * @param GradingContext context - database context * @param UserManager<IdentityUser> userManger - manages user identities */ public StudentGroupController(GradingContext context, UserManager <IdentityUser> userManager) { _userManager = userManager; _context = context; }
public CourseController(GradingContext context, UserManager <IdentityUser> userManager) { _userManager = userManager; _context = context; }
/** * AuthController * * Constructor * * @param GradingContext context - database context * @param UserManager<IdentityUser> userManger - manages user identities * @param IConfiguration configuration - key/value configuration properties */ public AuthController(GradingContext context, UserManager <IdentityUser> userManager, IConfiguration configuration) { _userManager = userManager; _configuration = configuration; _context = context; }