Skip to content

Commit 9ad2c6d

Browse files
committed
Re-order LRS.VoidStatement, Add Unit Test
1 parent 8cdf3a1 commit 9ad2c6d

File tree

3 files changed

+28
-18
lines changed

3 files changed

+28
-18
lines changed

TinCan/ILRS.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ public interface ILRS
2525
AboutLRSResponse About();
2626

2727
StatementLRSResponse SaveStatement(Statement statement);
28+
StatementLRSResponse VoidStatement(Guid id, Agent agent);
2829
StatementsResultLRSResponse SaveStatements(List<Statement> statements);
2930
StatementLRSResponse RetrieveStatement(Guid id);
3031
StatementLRSResponse RetrieveVoidedStatement(Guid id);
3132
StatementsResultLRSResponse QueryStatements(StatementsQuery query);
3233
StatementsResultLRSResponse MoreStatements(StatementsResult result);
33-
StatementLRSResponse VoidStatement(Guid id, Agent agent);
3434

3535
ProfileKeysLRSResponse RetrieveStateIds(Activity activity, Agent agent, Nullable<Guid> registration = null);
3636
StateLRSResponse RetrieveState(String id, Activity activity, Agent agent, Nullable<Guid> registration = null);

TinCan/RemoteLRS.cs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,22 @@ public StatementLRSResponse SaveStatement(Statement statement)
425425

426426
return r;
427427
}
428+
public StatementLRSResponse VoidStatement(Guid id, Agent agent)
429+
{
430+
var voidStatement = new Statement
431+
{
432+
actor = agent,
433+
verb = new Verb
434+
{
435+
id = new Uri("http://adlnet.gov/expapi/verbs/voided"),
436+
display = new LanguageMap()
437+
},
438+
target = new StatementRef { id = id }
439+
};
440+
voidStatement.verb.display.Add("en-US", "voided");
441+
442+
return SaveStatement(voidStatement);
443+
}
428444
public StatementsResultLRSResponse SaveStatements(List<Statement> statements)
429445
{
430446
var r = new StatementsResultLRSResponse();
@@ -524,23 +540,6 @@ public StatementsResultLRSResponse MoreStatements(StatementsResult result)
524540

525541
return r;
526542
}
527-
528-
public StatementLRSResponse VoidStatement(Guid id, Agent agent)
529-
{
530-
var voidStatement = new Statement
531-
{
532-
actor = agent,
533-
verb = new Verb
534-
{
535-
id = new Uri("http://adlnet.gov/expapi/verbs/voided"),
536-
display = new LanguageMap()
537-
},
538-
target = new StatementRef { id = id }
539-
};
540-
voidStatement.verb.display.Add("en-US", "voided");
541-
542-
return SaveStatement(voidStatement);
543-
}
544543

545544
// TODO: since param
546545
public ProfileKeysLRSResponse RetrieveStateIds(Activity activity, Agent agent, Nullable<Guid> registration = null)

TinCanTests/RemoteLRSResourceTest.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,17 @@ public void TestSaveStatementSubStatement()
122122
Assert.AreEqual(statement, lrsRes.content);
123123
}
124124

125+
[Test]
126+
public void TestVoidStatement()
127+
{
128+
Guid toVoid = Guid.NewGuid();
129+
StatementLRSResponse lrsRes = lrs.VoidStatement(toVoid, Support.agent);
130+
131+
Assert.IsTrue(lrsRes.success, "LRS response successful");
132+
Assert.AreEqual(new Uri("http://adlnet.gov/expapi/verbs/voided"), lrsRes.content.verb.id, "voiding statement uses voided verb");
133+
Assert.AreEqual(toVoid, ((StatementRef) lrsRes.content.target).id, "voiding statement target correct id");
134+
}
135+
125136
[Test]
126137
public void TestSaveStatements()
127138
{

0 commit comments

Comments
 (0)