示例#1
0
        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);
        }
示例#4
0
        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")));
        }
示例#5
0
        public InteractionComponent TestValidInit()
        {
            var comp1 = new InteractionComponent("id");
            var comp2 = new InteractionComponent("id", LanguageMap.EnglishUS("description"));

            return(comp2);
        }
示例#6
0
        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());
        }
示例#7
0
        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")
            }));
        }
示例#12
0
        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);
        }
示例#14
0
        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));
        }
示例#15
0
        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));
        }
示例#17
0
        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());
        }
示例#18
0
        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> {
     }));
 }
示例#20
0
        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));
        }
示例#21
0
        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" }
            }));
        }
示例#25
0
        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);
        }
示例#26
0
        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)));
        }
示例#27
0
        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));
        }
示例#28
0
        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);
        }
示例#30
0
        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);
        }