public void TestProperties() { var definition = new OtherInteractionActivityDefinition( new ResponsePattern("(35.937432,-86.868896)"), LanguageMap.EnglishUS("Name"), LanguageMap.EnglishUS("On this map, please mark Franklin, TN"), new Uri("http://example.com"), new Dictionary <Uri, object> { { new Uri("http://example.com"), "extension" } }); Assert.Equal(LanguageMap.EnglishUS("Name"), definition.Name); Assert.Equal(LanguageMap.EnglishUS("On this map, please mark Franklin, TN"), definition.Description); Assert.Equal(new ResponsePattern("(35.937432,-86.868896)"), definition.CorrectResponsesPattern); Assert.Equal(new Uri("http://example.com"), definition.MoreInfo); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); Assert.Equal(Interaction.Other, definition.InteractionType); Assert.Equal(new Uri("http://example.com"), definition.Extensions.Value.First().Key); // todo: avoid Value Assert.Equal("extension", definition.Extensions.Value.First().Value); var idefinition = definition as IInteractionActivityDefinition; Assert.Equal(new ResponsePattern("(35.937432,-86.868896)"), idefinition.CorrectResponsesPattern); Assert.Equal(LanguageMap.EnglishUS("On this map, please mark Franklin, TN"), idefinition.Description); Assert.Equal(new Uri("http://example.com"), idefinition.Extensions.Value.First().Key); Assert.Equal(Interaction.Other, idefinition.InteractionType); Assert.Equal(new Uri("http://example.com"), idefinition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Name"), idefinition.Name); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public void TestProperties() { var definition = new LongFillInInteractionActivityDefinition( new ResponsePattern(new CharacterString("To store and provide access to learning experiences.", LanguageTag.EnglishUS), false), LanguageMap.EnglishUS("Long Fill-in"), LanguageMap.EnglishUS("What is the purpose of the xAPI?"), new Uri("http://www.example.com/more"), new Dictionary <Uri, object> { { new Uri("a://b.c"), "extension" } }); Assert.Single(definition.CorrectResponsesPattern.CharacterStrings); Assert.Equal(LanguageMap.EnglishUS("What is the purpose of the xAPI?"), definition.Description); Assert.Equal(new Dictionary <Uri, object> { { new Uri("a://b.c"), "extension" } }, definition.Extensions.Value); Assert.Equal(Interaction.LongFillIn, definition.InteractionType); Assert.Equal(new Uri("http://www.example.com/more"), definition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Long Fill-in"), definition.Name); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); var idefinition = definition as IInteractionActivityDefinition; Assert.Single(idefinition.CorrectResponsesPattern.CharacterStrings); Assert.Equal(LanguageMap.EnglishUS("What is the purpose of the xAPI?"), idefinition.Description); Assert.Equal(new Dictionary <Uri, object> { { new Uri("a://b.c"), "extension" } }, idefinition.Extensions.Value); Assert.Equal(Interaction.LongFillIn, idefinition.InteractionType); Assert.Equal(new Uri("http://www.example.com/more"), idefinition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Long Fill-in"), idefinition.Name); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public void TestProperties() { var definition = TestValidInit(); Assert.Equal("[\"pong[.]1[:][,]dg[.][:]10[,]lunch[.]true\"]", definition.CorrectResponsesPattern.ToString()); Assert.Equal(LanguageMap.EnglishUS("This interaction measures performance over a day of RS sports:"), definition.Description); Assert.Equal(new Uri("http://example.com/ext"), definition.Extensions.Value.First().Key); // todo: avoid Value Assert.Equal("ext", definition.Extensions.Value.First().Value); Assert.Equal(Interaction.Performance, definition.InteractionType); Assert.Equal(new Uri("http://example.com/more"), definition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Appendix C"), definition.Name); Assert.Equal("pong", definition.Steps.First().Id); Assert.Equal(LanguageMap.EnglishUS("Net pong matches won"), definition.Steps.First().Description); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); var idefinition = definition as IPerformanceInteractionActivityDefinition; Assert.Equal("[\"pong[.]1[:][,]dg[.][:]10[,]lunch[.]true\"]", idefinition.CorrectResponsesPattern.ToString()); Assert.Equal(LanguageMap.EnglishUS("This interaction measures performance over a day of RS sports:"), idefinition.Description); Assert.Equal(new Uri("http://example.com/ext"), idefinition.Extensions.Value.First().Key); // todo: avoid Value Assert.Equal("ext", idefinition.Extensions.Value.First().Value); Assert.Equal(Interaction.Performance, idefinition.InteractionType); Assert.Equal(new Uri("http://example.com/more"), idefinition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Appendix C"), idefinition.Name); Assert.Equal("pong", idefinition.Steps.First().Id); Assert.Equal(LanguageMap.EnglishUS("Net pong matches won"), idefinition.Steps.First().Description); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public Attachment TestValidInit() { var attachment1 = new Attachment( new Uri("https://www.gowithfloat.com"), LanguageMap.EnglishUS("attachment"), new ContentType("text/plain"), 100, new SHAHash("example")); var attachment2 = new Attachment( new Uri("https://www.gowithfloat.com"), LanguageMap.EnglishUS("attachment"), new ContentType("text/plain"), 100, new SHAHash("example"), LanguageMap.EnglishUS("description")); return(new Attachment( new Uri("https://www.gowithfloat.com"), LanguageMap.EnglishUS("attachment"), new ContentType("text/plain"), 100, new SHAHash("example"), LanguageMap.EnglishUS("description"), new Uri("http://example.com"))); }
public InteractionComponent TestValidInit() { var comp1 = new InteractionComponent("id"); var comp2 = new InteractionComponent("id", LanguageMap.EnglishUS("description")); return(comp2); }
public void TestProperties() { var activityDefinition = new ActivityDefinition( LanguageMap.EnglishUS("name"), LanguageMap.EnglishUS("description"), new Uri("http://example.com/type"), new Uri("http://example.com/more"), new Dictionary <Uri, object> { { new Uri("http://example.com/ext"), "extension" } }); Assert.Equal(LanguageMap.EnglishUS("description"), activityDefinition.Description); Assert.Equal("extension", activityDefinition.Extensions.Value.First().Value); Assert.Equal(new Uri("http://example.com/more"), activityDefinition.MoreInfo); Assert.Equal(new Uri("http://example.com/type"), activityDefinition.Type); Assert.Equal(LanguageMap.EnglishUS("name"), activityDefinition.Name); var iactivityDefinition = activityDefinition as IActivityDefinition; Assert.Equal(LanguageMap.EnglishUS("description").ToString(), iactivityDefinition.Description.Value.ToString()); Assert.Equal(new Uri("http://example.com/ext"), iactivityDefinition.Extensions.Value.First().Key); Assert.Equal("http://example.com/more", iactivityDefinition.MoreInfo.Value.ToString()); Assert.Equal("http://example.com/type", iactivityDefinition.Type.Value.ToString()); Assert.Equal(LanguageMap.EnglishUS("name").ToString(), iactivityDefinition.Name.Value.ToString()); }
public void TestProperties() { var name = LanguageMap.EnglishUS("name"); var description = LanguageMap.EnglishUS("Ben is often heard saying: "); var correctResponsesPattern = new ResponsePattern(new CharacterString("Bob's your uncle")); var moreInfo = new Uri("http://example.com/more"); var extensions = new Dictionary <Uri, object> { { new Uri("http://example.com/ext"), "ext" }, }; var definition = new FillInInteractionActivityDefinition(correctResponsesPattern, name, description, moreInfo, extensions); Assert.Equal(correctResponsesPattern, definition.CorrectResponsesPattern); Assert.Equal(description, definition.Description); Assert.Equal(extensions, definition.Extensions); Assert.Equal(Interaction.FillIn, definition.InteractionType); Assert.Equal(moreInfo, definition.MoreInfo); Assert.Equal(name, definition.Name); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); var idefinition = definition as IInteractionActivityDefinition; Assert.Equal(correctResponsesPattern, idefinition.CorrectResponsesPattern); Assert.Equal(description, idefinition.Description); Assert.Equal(extensions, idefinition.Extensions); Assert.Equal(Interaction.FillIn, idefinition.InteractionType); Assert.Equal(moreInfo, idefinition.MoreInfo); Assert.Equal(name, idefinition.Name); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public void TestProperties() { var definition = new NumericInteractionActivityDefinition( new ResponsePattern(new CharacterStringNumeric(4)), LanguageMap.EnglishUS("Name"), LanguageMap.EnglishUS("Description"), new Uri("http://example.com"), new Dictionary <Uri, object> { { new Uri("http://extension.com"), "extension" } }); Assert.Equal(LanguageMap.EnglishUS("Name"), definition.Name); Assert.Equal(LanguageMap.EnglishUS("Description"), definition.Description); Assert.Equal(new ResponsePattern(new CharacterStringNumeric(4)), definition.CorrectResponsesPattern); Assert.Equal(new Uri("http://example.com"), definition.MoreInfo); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); Assert.Equal(Interaction.Numeric, definition.InteractionType); Assert.Equal(new Uri("http://extension.com"), definition.Extensions.Value.First().Key); // todo: avoid Value Assert.Equal("extension", definition.Extensions.Value.First().Value); var idefinition = definition as IInteractionActivityDefinition; Assert.Equal(new ResponsePattern(new CharacterStringNumeric(4)), idefinition.CorrectResponsesPattern); Assert.Equal(LanguageMap.EnglishUS("Description"), idefinition.Description); Assert.Equal(new Uri("http://extension.com"), idefinition.Extensions.Value.First().Key); Assert.Equal(Interaction.Numeric, idefinition.InteractionType); Assert.Equal(new Uri("http://example.com"), idefinition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Name"), idefinition.Name); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public void TestProperties() { var definition = TestValidInit(); Assert.Equal("[\"tim[,]mike[,]ells[,]ben\"]", definition.CorrectResponsesPattern.ToString()); Assert.Equal(LanguageMap.EnglishUS("Order players by their pong ladder position:"), definition.Description); Assert.Equal(new Uri("http://example.com/ext"), definition.Extensions.Value.First().Key); // todo: avoid Value Assert.Equal("ext", definition.Extensions.Value.First().Value); Assert.Equal(Interaction.Sequencing, definition.InteractionType); Assert.Equal(new Uri("http://example.com/more"), definition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Appendix C"), definition.Name); Assert.Equal("tim", definition.Choices.First().Id); Assert.Equal(LanguageMap.EnglishUS("Tim"), definition.Choices.First().Description); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); var idefinition = definition as ISequencingInteractionActivityDefinition; Assert.Equal("[\"tim[,]mike[,]ells[,]ben\"]", idefinition.CorrectResponsesPattern.ToString()); Assert.Equal(LanguageMap.EnglishUS("Order players by their pong ladder position:"), idefinition.Description); Assert.Equal(new Uri("http://example.com/ext"), idefinition.Extensions.Value.First().Key); // todo: avoid Value Assert.Equal("ext", idefinition.Extensions.Value.First().Value); Assert.Equal(Interaction.Sequencing, idefinition.InteractionType); Assert.Equal(new Uri("http://example.com/more"), idefinition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Appendix C"), idefinition.Name); Assert.Equal("tim", idefinition.Choices.First().Id); Assert.Equal(LanguageMap.EnglishUS("Tim"), idefinition.Choices.First().Description); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public ChoiceInteractionActivityDefinition TestValidInit() { var name = LanguageMap.EnglishUS("name"); var description = LanguageMap.EnglishUS("Which of these prototypes are available at the beta site?"); var correctResponsesPattern = new ResponsePattern(new CharacterString(new string[] { "golf", "tetris" })); var choices = new List <IInteractionComponent> { new InteractionComponent("golf", LanguageMap.EnglishUS("Golf Example")), new InteractionComponent("facebook", LanguageMap.EnglishUS("Facebook App")), new InteractionComponent("tetris", LanguageMap.EnglishUS("Tetris Example")), new InteractionComponent("scrabble", LanguageMap.EnglishUS("Scrabble Example")), }; var moreInfo = new Uri("http://www.example.com/more"); var extensions = new Dictionary <Uri, object> { { new Uri("http://example.com/extension"), "extension" }, }; var definition0 = new ChoiceInteractionActivityDefinition(correctResponsesPattern, choices, name); var definition1 = new ChoiceInteractionActivityDefinition(correctResponsesPattern, choices, null, description); var definition2 = new ChoiceInteractionActivityDefinition(correctResponsesPattern, choices, name, description); var definition3 = new ChoiceInteractionActivityDefinition(correctResponsesPattern, choices, name, description, moreInfo); return(new ChoiceInteractionActivityDefinition(correctResponsesPattern, choices, name, description, moreInfo, extensions)); }
public LikertInteractionActivityDefinition TestValidInit() { var scale = new List <IInteractionComponent> { new InteractionComponent("likert_0", LanguageMap.EnglishUS("It's OK")), new InteractionComponent("likert_1", LanguageMap.EnglishUS("It's Pretty Cool")), new InteractionComponent("likert_2", LanguageMap.EnglishUS("It's Damn Cool")), new InteractionComponent("likert_3", LanguageMap.EnglishUS("It's Gonna Change the World")), }; var definition1 = new LikertInteractionActivityDefinition( new ResponsePattern(new CharacterString("likert_3")), scale, LanguageMap.EnglishUS("Likert"), LanguageMap.EnglishUS("How awesome is Experience API?")); var definition2 = new LikertInteractionActivityDefinition( new ResponsePattern(new CharacterString("likert_3")), scale, LanguageMap.EnglishUS("Likert"), LanguageMap.EnglishUS("How awesome is Experience API?"), new Uri("http://www.example.com/more")); return(new LikertInteractionActivityDefinition( new ResponsePattern(new CharacterString("likert_3")), scale, LanguageMap.EnglishUS("Likert"), LanguageMap.EnglishUS("How awesome is Experience API?"), new Uri("http://www.example.com/more"), new List <KeyValuePair <Uri, object> > { new KeyValuePair <Uri, object>(new Uri("http://www.example.com/ext"), "ext") })); }
public void TestToString() { var actor = new Agent(new Mailbox(new MailAddress("*****@*****.**"))); var verb = new Verb(new Uri("http://example.com/sent"), LanguageMap.EnglishUS("sent")); var activity = new Activity(new Uri("http://example.com")); var substatement = new SubStatement(actor, verb, activity); Assert.Equal($"<SubStatement: Actor {actor} Verb {verb} Object {activity}>", substatement.ToString()); }
public void TestProperties() { var pairs = new CharacterStringPair(new Dictionary <string, ICharacterString> { { "ben", new CharacterString("3") }, { "chris", new CharacterString("2") }, { "troy", new CharacterString("4") }, { "freddie", new CharacterString("1") }, }); var source = new List <IInteractionComponent> { new InteractionComponent("ben", LanguageMap.EnglishUS("Ben")), new InteractionComponent("chris", LanguageMap.EnglishUS("Chris")), new InteractionComponent("troy", LanguageMap.EnglishUS("Troy")), new InteractionComponent("freddie", LanguageMap.EnglishUS("Freddie")), }; var target = new List <IInteractionComponent> { new InteractionComponent("1", LanguageMap.EnglishUS("Swift Kick in the Grass")), new InteractionComponent("2", LanguageMap.EnglishUS("We got Runs")), new InteractionComponent("3", LanguageMap.EnglishUS("Duck")), new InteractionComponent("4", LanguageMap.EnglishUS("Van Delay Industries")), }; var extensions = new Dictionary <Uri, object> { { new Uri("http://www.example.com/ext"), "ext" } }; var definition = new MatchingInteractionActivityDefinition( new ResponsePattern(pairs), source, target, LanguageMap.EnglishUS("Long Fill-in"), LanguageMap.EnglishUS("Match these people to their kickball team:"), new Uri("http://www.example.com/more"), extensions); Assert.Equal(new ResponsePattern(pairs), definition.CorrectResponsesPattern); Assert.Equal(LanguageMap.EnglishUS("Match these people to their kickball team:"), definition.Description); Assert.Equal(extensions, definition.Extensions); Assert.Equal(Interaction.Matching, definition.InteractionType); Assert.Equal(new Uri("http://www.example.com/more"), definition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Long Fill-in"), definition.Name); Assert.Equal(source, definition.Source); Assert.Equal(target, definition.Target); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); var idefinition = definition as IMatchingInteractionActivityDefinition; Assert.Equal(new ResponsePattern(pairs), idefinition.CorrectResponsesPattern); Assert.Equal(LanguageMap.EnglishUS("Match these people to their kickball team:"), idefinition.Description); Assert.Equal(extensions, idefinition.Extensions); Assert.Equal(Interaction.Matching, idefinition.InteractionType); Assert.Equal(new Uri("http://www.example.com/more"), idefinition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Long Fill-in"), idefinition.Name); Assert.Equal(source, idefinition.Source); Assert.Equal(target, idefinition.Target); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public Activity TestValidInit() { var activity1 = new Activity(new ActivityId("http://example.com/id")); var definition = new ActivityDefinition( LanguageMap.EnglishUS("name"), LanguageMap.EnglishUS("description"), new Uri("http://example.com/type")); return(new Activity(new ActivityId("http://example.com/id-2"), definition)); }
public void TestInvalidInit() { var map = LanguageMap.EnglishUS("test"); var resp = new ResponsePattern(new CharacterString("test")); Assert.Throws <ArgumentNullException>(() => new FillInInteractionActivityDefinition(null, null, null)); Assert.Throws <ArgumentNullException>(() => new FillInInteractionActivityDefinition(null, map, null)); Assert.Throws <ArgumentNullException>(() => new FillInInteractionActivityDefinition(null, null, map)); Assert.Throws <ArgumentNullException>(() => new FillInInteractionActivityDefinition(null, map, map)); }
public void TestInvalidInit() { var map = LanguageMap.EnglishUS("test"); var resp = new ResponsePattern(new CharacterString("test")); var choice = new IInteractionComponent[] { new InteractionComponent("test") }; Assert.Throws <ArgumentNullException>(() => new ChoiceInteractionActivityDefinition(null, null, null, null)); Assert.Throws <ArgumentNullException>(() => new ChoiceInteractionActivityDefinition(null, null, map, null)); Assert.Throws <ArgumentNullException>(() => new ChoiceInteractionActivityDefinition(resp, null, map, map)); Assert.Throws <ArgumentNullException>(() => new ChoiceInteractionActivityDefinition(null, choice, map, map)); }
public void TestToString() { var id = Guid.NewGuid(); var timestamp = DateTime.Now; var actor1 = new Agent(new Account("agent", new Uri("http://example.com/account"))); var verb1 = new Verb(new Uri("http://example.com/verb"), LanguageMap.EnglishUS("verb")); var activity1 = new Activity(new Uri("http://example.com/activity")); var statement1 = new Statement(actor1, verb1, activity1, id, timestamp: timestamp); Assert.Equal($"<Statement: Id {id} Actor {actor1.ToString()} Verb {verb1.ToString()} Object {activity1.ToString()} Timestamp {timestamp}>", statement1.ToString()); }
public void TestProperties() { var comp = new InteractionComponent("likert_0", LanguageMap.EnglishUS("It's OK")); Assert.Equal("likert_0", comp.Id); Assert.Equal(new LanguageMap(new LanguageTag(Language.English, Region.UnitedStates), "It's OK"), comp.Description); var icomp = comp as IInteractionComponent; Assert.Equal("likert_0", icomp.Id); Assert.Equal(new LanguageMap(new LanguageTag(Language.English, Region.UnitedStates), "It's OK"), icomp.Description); }
public void TestInvalidInit() { Assert.Throws <ArgumentNullException>(() => new PerformanceInteractionActivityDefinition(null, null, null, null)); Assert.Throws <ArgumentNullException>(() => new PerformanceInteractionActivityDefinition(null, null, LanguageMap.EnglishUS("name"), null)); Assert.Throws <ArgumentNullException>(() => new PerformanceInteractionActivityDefinition(null, null, LanguageMap.EnglishUS("name"), LanguageMap.EnglishUS("description"))); Assert.Throws <ArgumentNullException>(() => new PerformanceInteractionActivityDefinition(new ResponsePattern(new CharacterStringNumeric(4)), null, LanguageMap.EnglishUS("name"), LanguageMap.EnglishUS("description"))); Assert.Throws <ArgumentException>(() => new PerformanceInteractionActivityDefinition(new ResponsePattern(new CharacterStringNumeric(4)), new List <IInteractionComponent> { }, LanguageMap.EnglishUS("name"), LanguageMap.EnglishUS("description"), new Uri("http://example.com"))); Assert.Throws <ArgumentException>(() => new PerformanceInteractionActivityDefinition(new ResponsePattern(new CharacterStringNumeric(4)), new List <IInteractionComponent> { new InteractionComponent("id") }, LanguageMap.EnglishUS("name"), LanguageMap.EnglishUS("description"), new Uri("http://example.com"), new Dictionary <Uri, object> { })); }
public void TestInvalidInit() { var actor = new Agent(new OpenID(new Uri("http://example.com"))); var verb = new Verb(new VerbId("http://example.com"), LanguageMap.EnglishUS("test")); var activity = new Activity(new ActivityId("http://example.com")); Assert.Throws <ArgumentNullException>(() => new Statement(null, null, null)); Assert.Throws <ArgumentNullException>(() => new Statement(actor, null, null)); Assert.Throws <ArgumentNullException>(() => new Statement(null, verb, null)); Assert.Throws <ArgumentNullException>(() => new Statement(null, null, activity)); Assert.Throws <ArgumentNullException>(() => new Statement(actor, verb, null)); Assert.Throws <ArgumentNullException>(() => new Statement(actor, null, activity)); Assert.Throws <ArgumentNullException>(() => new Statement(null, verb, activity)); }
public void TestProperties() { var actor = new Agent(new OpenID(new Uri("http://example.com/actor"))); var verb = new Verb(new VerbId("http://example.com/verb"), LanguageMap.EnglishUS("verbed")); var activity = new Activity(new ActivityId("http://example.com/activity")); var id = Guid.NewGuid(); var result = new Result(new Score(0.5)); var contextId = Guid.NewGuid(); var context = new Context(contextId); var timestamp = DateTimeOffset.Now; var auth = new Agent(new OpenID(new Uri("http://example.com/authority"))); var version = new Version(1, 2, 3); var attachments = new List <IAttachment> { new Statements.Attachment( new Uri("http://example.com/usageType"), LanguageMap.EnglishUS("display"), new ContentType("text/plain"), 16, new SHAHash("shahash")), }; var statement = new Statement(actor, verb, activity, id, result, context, timestamp, timestamp, auth, version, attachments); Assert.Equal(actor, statement.Actor.Item); Assert.Equal(attachments, statement.Attachments); Assert.Equal(auth, statement.Authority.Value.Item); Assert.Equal(contextId, statement.Context.Value.Registration); Assert.Equal(id, statement.Id); Assert.Equal(activity, statement.Object); Assert.Equal(result, statement.Result); Assert.Equal(timestamp, statement.Stored); Assert.Equal(timestamp, statement.Timestamp); Assert.Equal(verb.Id, statement.Verb.Id); Assert.Equal(version, statement.Version); var istatement = statement as IStatement; Assert.Equal(actor, istatement.Actor.Item); Assert.Equal(attachments, istatement.Attachments); Assert.Equal(auth, istatement.Authority.Value.Item); Assert.Equal(contextId, istatement.Context.Value.Registration); Assert.Equal(id, istatement.Id); Assert.Equal(activity, istatement.Object); Assert.Equal(result, istatement.Result); Assert.Equal(timestamp, istatement.Stored); Assert.Equal(timestamp, istatement.Timestamp); Assert.Equal(verb.Id, istatement.Verb.Id); Assert.Equal(version, istatement.Version); }
public void TestInvalidInit() { Assert.Throws <ArgumentNullException>(() => new MatchingInteractionActivityDefinition(null, null, null, null, null)); Assert.Throws <ArgumentNullException>(() => new MatchingInteractionActivityDefinition(null, null, null, LanguageMap.EnglishUS("a"), null)); Assert.Throws <ArgumentNullException>(() => new MatchingInteractionActivityDefinition(new ResponsePattern("a"), null, null, LanguageMap.EnglishUS("a"), LanguageMap.EnglishUS("b"))); Assert.Throws <ArgumentException>(() => new MatchingInteractionActivityDefinition(new ResponsePattern("a"), new List <IInteractionComponent> { }, null, LanguageMap.EnglishUS("a"), LanguageMap.EnglishUS("b"))); Assert.Throws <ArgumentNullException>(() => new MatchingInteractionActivityDefinition(new ResponsePattern("a"), new List <IInteractionComponent> { new InteractionComponent("id") }, null, LanguageMap.EnglishUS("a"), LanguageMap.EnglishUS("b"))); Assert.Throws <ArgumentException>(() => new MatchingInteractionActivityDefinition(new ResponsePattern("a"), new List <IInteractionComponent> { new InteractionComponent("id") }, new List <IInteractionComponent> { }, LanguageMap.EnglishUS("a"), LanguageMap.EnglishUS("b"))); }
public void TestInvalidInit() { var scale1 = new List <IInteractionComponent> { new InteractionComponent("likert_0", LanguageMap.EnglishUS("It's OK")), }; var scale2 = new List <IInteractionComponent>(); Assert.Throws <ArgumentNullException>(() => new LikertInteractionActivityDefinition(null, null, null, null)); Assert.Throws <ArgumentNullException>(() => new LikertInteractionActivityDefinition(null, null, LanguageMap.EnglishUS("a"), null)); Assert.Throws <ArgumentNullException>(() => new LikertInteractionActivityDefinition(null, null, LanguageMap.EnglishUS("a"), LanguageMap.EnglishUS("b"))); Assert.Throws <ArgumentException>(() => new LikertInteractionActivityDefinition(new ResponsePattern("c"), scale2, LanguageMap.EnglishUS("a"), LanguageMap.EnglishUS("b"))); Assert.Throws <ArgumentException>(() => new LikertInteractionActivityDefinition(new ResponsePattern("c"), scale2, LanguageMap.EnglishUS("a"), LanguageMap.EnglishUS("b"), new Uri("a://b.c"), new Dictionary <Uri, object>())); }
public MatchingInteractionActivityDefinition TestValidInit() { var pairs = new CharacterStringPair(new Dictionary <string, ICharacterString> { { "ben", new CharacterString("3") }, { "chris", new CharacterString("2") }, { "troy", new CharacterString("4") }, { "freddie", new CharacterString("1") }, }); var source = new List <IInteractionComponent> { new InteractionComponent("ben", LanguageMap.EnglishUS("Ben")), new InteractionComponent("chris", LanguageMap.EnglishUS("Chris")), new InteractionComponent("troy", LanguageMap.EnglishUS("Troy")), new InteractionComponent("freddie", LanguageMap.EnglishUS("Freddie")), }; var target = new List <IInteractionComponent> { new InteractionComponent("1", LanguageMap.EnglishUS("Swift Kick in the Grass")), new InteractionComponent("2", LanguageMap.EnglishUS("We got Runs")), new InteractionComponent("3", LanguageMap.EnglishUS("Duck")), new InteractionComponent("4", LanguageMap.EnglishUS("Van Delay Industries")), }; var definition1 = new MatchingInteractionActivityDefinition( new ResponsePattern(pairs), source, target, LanguageMap.EnglishUS("Long Fill-in"), LanguageMap.EnglishUS("Match these people to their kickball team:")); var definition2 = new MatchingInteractionActivityDefinition( new ResponsePattern(pairs), source, target, LanguageMap.EnglishUS("Long Fill-in"), LanguageMap.EnglishUS("Match these people to their kickball team:"), new Uri("http://www.example.com/more")); return(new MatchingInteractionActivityDefinition( new ResponsePattern(pairs), source, target, LanguageMap.EnglishUS("Long Fill-in"), LanguageMap.EnglishUS("Match these people to their kickball team:"), new Uri("http://www.example.com/more"), new Dictionary <Uri, object> { { new Uri("http://www.example.com/ext"), "ext" } })); }
public void TestInequality() { var actor1 = new Agent(new Account("agent", new Uri("http://example.com/account"))); var verb1 = new Verb(new VerbId("http://example.com/verb"), LanguageMap.EnglishUS("verb")); var activity1 = new Activity(new ActivityId("http://example.com/activity")); var actor2 = new Agent(new Account("agent", new Uri("http://example.com/other-account"))); var verb2 = new Verb(new VerbId("http://example.com/different-verb"), LanguageMap.EnglishUS("verbed")); var activity2 = new Activity(new ActivityId("http://example.com/another-activity")); var statement1 = new Statement(actor1, verb1, activity1); var statement2 = new Statement(actor1, verb1, activity1); var statement3 = new Statement(actor2, verb2, activity2, Guid.NewGuid()); AssertHelper.Inequality <Statement, IStatement>(statement1, statement2, (a, b) => a != b); AssertHelper.Inequality <Statement, IStatement>(statement1, statement3, (a, b) => a != b); AssertHelper.Inequality <Statement, IStatement>(statement2, statement3, (a, b) => a != b); }
public void TestSerialize() { var actor = new Agent( new Account("1625378", new Uri("http://example.adlnet.gov")), "Gert Frobe"); var verb = new Verb( id: new VerbId("http://adlnet.gov/expapi/verbs/failed"), display: LanguageMap.EnglishUS("failed")); var result = new Result( score: new Score(65, 0, 100), success: false, duration: new TimeSpan(hours: 0, minutes: 30, seconds: 0), extensions: new Dictionary <Uri, object> { { new Uri("https://w3id.org/xapi/cmi5/result/extensions/progress"), 100 } }); var category = new List <IActivity> { new Activity(new ActivityId("https://w3id.org/xapi/cmi5/context/categories/moveon")), new Activity(new ActivityId("https://w3id.org/xapi/cmi5/context/categories/cmi5")), }; var contextExtensions = new Dictionary <Uri, object> { { new Uri("https://w3id.org/xapi/cmi5/context/extensions/sessionid"), "458240298378231" }, }; var context = new Context( registration: new Guid("ec231277-b27b-4c15-8291-d29225b2b8f7"), contextActivities: new ContextActivities(category: category), extensions: contextExtensions); var statement = new Statement( actor: actor, verb: verb, @object: new Activity(new ActivityId("https://example.adlnet.gov/AUidentifier")), id: new Guid("2a41c918-b88b-4220-20a5-a4c32391a240"), result: result, context: context, timestamp: DateTimeOffset.Parse("2012-06-01T19:09:13.245+00:00")); Assert.Equal( FormatJson(ReadFile("about-example-statement.json")), FormatJson(Serialize.Statement(statement))); }
public FillInInteractionActivityDefinition TestValidInit() { var name = LanguageMap.EnglishUS("name"); var description = LanguageMap.EnglishUS("Ben is often heard saying: "); var correctResponsesPattern = new ResponsePattern(new CharacterString("Bob's your uncle")); var moreInfo = new Uri("http://example.com/more"); var extensions = new Dictionary <Uri, object> { { new Uri("http://example.com/ext"), "ext" }, }; var definition1 = new FillInInteractionActivityDefinition(correctResponsesPattern, name, description); var definition2 = new FillInInteractionActivityDefinition(correctResponsesPattern, name, description, moreInfo); return(new FillInInteractionActivityDefinition(correctResponsesPattern, name, description, moreInfo, extensions)); }
public void TestEquality() { var actor1 = new Agent(new Account("agent", new Uri("http://example.com/account"))); var verb1 = new Verb(new Uri("http://example.com/verb"), LanguageMap.EnglishUS("verb")); var activity1 = new Activity(new Uri("http://example.com/activity")); var actor2 = new Agent(new Account("agent", new Uri("http://example.com/other-account"))); var verb2 = new Verb(new Uri("http://example.com/different-verb"), LanguageMap.EnglishUS("verbed")); var activity2 = new Activity(new Uri("http://example.com/another-activity")); var id = Guid.NewGuid(); var statement1 = new Statement(actor1, verb1, activity1, id); var statement2 = new Statement(actor1, verb1, activity1, id); var statement3 = new Statement(actor2, verb2, activity2, id); Assert.Equal(statement1, statement2); Assert.Equal(statement1, statement3); Assert.Equal(statement2, statement3); }
public void TestProperties() { var scale = new List <IInteractionComponent> { new InteractionComponent("likert_0", LanguageMap.EnglishUS("It's OK")), new InteractionComponent("likert_1", LanguageMap.EnglishUS("It's Pretty Cool")), new InteractionComponent("likert_2", LanguageMap.EnglishUS("It's Damn Cool")), new InteractionComponent("likert_3", LanguageMap.EnglishUS("It's Gonna Change the World")), }; var ext = new List <KeyValuePair <Uri, object> > { new KeyValuePair <Uri, object>(new Uri("http://www.example.com/ext"), "ext") }; var definition = new LikertInteractionActivityDefinition( new ResponsePattern("likert_3"), scale, LanguageMap.EnglishUS("Likert"), LanguageMap.EnglishUS("How awesome is Experience API?"), new Uri("http://www.example.com/more"), new List <KeyValuePair <Uri, object> > { new KeyValuePair <Uri, object>(new Uri("http://www.example.com/ext"), "ext") }); Assert.Single(definition.CorrectResponsesPattern.CharacterStrings); Assert.Equal(LanguageMap.EnglishUS("How awesome is Experience API?"), definition.Description); Assert.Equal(ext, definition.Extensions.Value); Assert.Equal(Interaction.Likert, definition.InteractionType); Assert.Equal(new Uri("http://www.example.com/more"), definition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Likert"), definition.Name); Assert.Equal(scale, definition.Scale); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), definition.Type); var idefinition = definition as ILikertInteractionActivityDefinition; Assert.Single(idefinition.CorrectResponsesPattern.CharacterStrings); Assert.Equal(LanguageMap.EnglishUS("How awesome is Experience API?"), idefinition.Description); Assert.Equal(ext, idefinition.Extensions.Value); Assert.Equal(Interaction.Likert, idefinition.InteractionType); Assert.Equal(new Uri("http://www.example.com/more"), idefinition.MoreInfo); Assert.Equal(LanguageMap.EnglishUS("Likert"), idefinition.Name); Assert.Equal(scale, idefinition.Scale); Assert.Equal(new Uri("http://adlnet.gov/expapi/activities/cmi.interaction"), idefinition.Type); }
public void TestProperties() { var definition = new ActivityDefinition( LanguageMap.EnglishUS("name"), LanguageMap.EnglishUS("description"), new Uri("http://example.com/type")); var activity = new Activity(new ActivityId("http://example.com/id-2"), definition); Assert.Equal(ObjectType.Activity, activity.ObjectType); Assert.Equal(new ActivityId("http://example.com/id-2"), activity.Id); Assert.Equal(definition, activity.Definition); Assert.Equal(LanguageMap.EnglishUS("name"), activity.Definition.Value.Name); var iactivity = activity as IActivity; Assert.Equal(ObjectType.Activity, iactivity.ObjectType); Assert.Equal(new ActivityId("http://example.com/id-2"), iactivity.Id); Assert.Equal(definition, iactivity.Definition); }