smarter assignment parsing

This commit is contained in:
2024-01-19 14:31:59 -07:00
parent b28bea77e9
commit 014b4aeff8
4 changed files with 24 additions and 28 deletions

View File

@@ -111,5 +111,25 @@ public class AssignmentMarkdownTests
var parsedAssignment = LocalAssignment.ParseMarkdown(assignmentMarkdown); var parsedAssignment = LocalAssignment.ParseMarkdown(assignmentMarkdown);
parsedAssignment.Should().BeEquivalentTo(assignment); parsedAssignment.Should().BeEquivalentTo(assignment);
} }
[Test]
public void Assignments_CanHaveThreeDashes()
{
var assignment = new LocalAssignment()
{
Name="test assignment",
Description = "test assignment\n---\nsomestuff",
DueAt = new DateTime(),
LockAt = new DateTime(),
SubmissionTypes = [],
LocalAssignmentGroupName = "Final Project",
Rubric = new List<RubricItem>() {
}
};
} var assignmentMarkdown = assignment.ToMarkdown();
var parsedAssignment = LocalAssignment.ParseMarkdown(assignmentMarkdown);
parsedAssignment.Should().BeEquivalentTo(assignment);
}
}

View File

@@ -120,7 +120,8 @@ public class QuizEditorContext(
(ulong)canvasQuizId (ulong)canvasQuizId
); );
await planner.LocalCourse.Modules.First().SortModuleItems( var module = getCurrentLocalModule(Quiz, planner.LocalCourse);
await module.SortModuleItems(
(ulong)courseCanvasId, (ulong)courseCanvasId,
canvasModule.Id, canvasModule.Id,
canvas canvas

View File

@@ -11,7 +11,7 @@ public static class LocalAssignmentMarkdownParser
var settingsString = input.Split("---")[0]; var settingsString = input.Split("---")[0];
var (name, localAssignmentGroupName, submissionTypes, dueAt, lockAt) = parseSettings(settingsString); var (name, localAssignmentGroupName, submissionTypes, dueAt, lockAt) = parseSettings(settingsString);
var description = input.Split("---\n")[1].Split("## Rubric")[0]; var description = String.Join("---\n", input.Split("---\n")[1..]).Split("## Rubric")[0];
var rubricString = input.Split("## Rubric\n")[1]; var rubricString = input.Split("## Rubric\n")[1];
var rubric = ParseRubricMarkdown(rubricString); var rubric = ParseRubricMarkdown(rubricString);

View File

@@ -17,28 +17,3 @@ Apparently the VSCode razor extension was compiled with a preview of dotnet 6...
The issue can be tracked [here](https://github.com/dotnet/razor/issues/6241) The issue can be tracked [here](https://github.com/dotnet/razor/issues/6241)
"Name: test assignment
LockAt: 1/1/0001 12:00:00 AM
DueAt: 1/1/0001 12:00:00 AM
AssignmentGroupName: Final Project
SubmissionTypes:
- online_upload
---
here is the description
## Rubric
- 4pts: do task 1
- 2pts: do task 2
"
"Name: test assignment
LockAt: 1/1/0001 12:00:00 AM
DueAt: 1/1/0001 12:00:00 AM
AssignmentGroupName: Final Project
SubmissionTypes:
---