public bool IsAppropriateForTranslation(TranslatorType translatorType, string fromLanguageExtension)
        {
            switch (translatorType)
            {
            case TranslatorType.Google:
                return(LanguageMap.ContainsValue(ToLanguageExtension) && LanguageMap.ContainsValue(fromLanguageExtension) && ActiveTranslators.Contains(translatorType));

            case TranslatorType.Bing:
                return(LanguageMap.ContainsValue(ToLanguageExtension) && LanguageMap.ContainsValue(fromLanguageExtension) && ActiveTranslators.Contains(translatorType));

            case TranslatorType.Seslisozluk:
                return(LanguageMap.ContainsValue(ToLanguageExtension) && LanguageMap.ContainsValue(fromLanguageExtension) && ActiveTranslators.Contains(translatorType));

            case TranslatorType.Yandex:
                return(YandexLanguageMapExtensions.Contains(ToLanguageExtension) && YandexLanguageMapExtensions.Contains(fromLanguageExtension) && ActiveTranslators.Contains(translatorType));

            case TranslatorType.Tureng:
                return((fromLanguageExtension == "en" || fromLanguageExtension == "tr" && IsToLanguageTurkish) && ActiveTranslators.Contains(translatorType));

            case TranslatorType.Zargan:
                return((fromLanguageExtension == "en" || fromLanguageExtension == "tr" && IsToLanguageTurkish) && ActiveTranslators.Contains(translatorType));
            }

            return(false);
        }
示例#2
0
        public void TestEmptyCtr()
        {
            LanguageMap obj = new LanguageMap();

            //Assert.IsInstanceOf<LanguageMap>(obj);
            Assert.IsInstanceOfType(obj, new LanguageMap().GetType());
        }
示例#3
0
        public Verb TestValidInit()
        {
            var uri = new VerbId("http://www.gowithfloat.com");
            var map = new LanguageMap(LanguageTag.EnglishUS, "floated");

            return(new Verb(uri, map));
        }
        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);
        }
示例#5
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")));
        }
示例#6
0
        public void TestSerializeExample()
        {
            // see https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#example-3
            var expected = FormatJson(@"{
                ""id"":""http://example.com/xapi/verbs#defenestrated"",
                ""display"":{
                    ""en-US"":""defenestrated"",
                    ""es"" : ""defenestrado""
                }
            }");

            var id      = new VerbId(new Uri("http://example.com/xapi/verbs#defenestrated"));
            var display = new LanguageMap(new Dictionary <ILanguageTag, string>
            {
                {
                    new LanguageTag(Language.English, Region.UnitedStates), "defenestrated"
                },
                {
                    new LanguageTag(Language.Spanish), "defenestrado"
                },
            });

            var verb   = new Verb(id, display);
            var actual = FormatJson(Serialize.Verb(verb));

            Assert.Equal(expected, actual);
        }
示例#7
0
        public static void SendStatement(string activity)
        {
            string email = "mailto:";
            email += username;

            Statement[] statements = new Statement[1];
            Activity newAct = new Activity("http://35.9.22.105/xapi");

            LanguageMap inter = new LanguageMap();
            inter.Add("en-US", "Interacted");
            System.Uri verbURI = new System.Uri("http://verbs/interaction/");
            StatementVerb interact = new StatementVerb(verbURI, inter);

            newAct.Definition = new ActivityDefinition();
            newAct.Definition.Name = new LanguageMap();
            newAct.Definition.Description = new LanguageMap();
            newAct.Definition.Description.Add("type", "Desktop Application Learning Activity");
            newAct.Definition.Name.Add("en-US", activity);
            Random rand = new Random();
            int random = rand.Next();
            newAct.Id = "http://" + random.ToString() + "/desktopapp/" + activity;

            statements[0] = new Statement(new Actor(username, email), interact, newAct);

            try
            {
                tincan.StoreStatements(statements);
            }
            catch (Exception e)
            {
                _offlineQueuedStatements.Enqueue(statements[0]);
            }
        }
示例#8
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);
        }
示例#9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="audioName"></param>
        /// <returns></returns>
        private static string FindISOLanguage(string audioName)
        {
            // Not possible
            if (string.IsNullOrEmpty(audioName))
            {
                return(null);
            }

            // Split off
            string[] parts = audioName.Split(' ', '[');

            // Find it
            string shortName;

            if (LanguageMap.TryGetValue(parts[0], out shortName))
            {
                return(shortName);
            }

            // Find it
            if (EnglishLanguageMap.TryGetValue(parts[0], out shortName))
            {
                return(shortName);
            }

            // Not found
            return(parts[0]);
        }
示例#10
0
        public InteractionComponent TestValidInit()
        {
            var comp1 = new InteractionComponent("id");
            var comp2 = new InteractionComponent("id", LanguageMap.EnglishUS("description"));

            return(comp2);
        }
        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 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 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));
        }
示例#14
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,LanguageId,MissionId,CountryOpsId,UnitOpsId")] LanguageMap languageMap)
        {
            if (id != languageMap.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(languageMap);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!LanguageMapExists(languageMap.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CountryOpsId"] = new SelectList(_context.CountryOfOperation, "Id", "Code", languageMap.CountryOpsId);
            ViewData["LanguageId"]   = new SelectList(_context.Language, "Id", "Name", languageMap.LanguageId);
            ViewData["MissionId"]    = new SelectList(_context.Mission, "Id", "Code", languageMap.MissionId);
            ViewData["UnitOpsId"]    = new SelectList(_context.UnitOps, "Id", "Code", languageMap.UnitOpsId);
            return(View(languageMap));
        }
示例#15
0
 /// <summary>
 /// Initializes a new instance of the ActivityBuilder class.
 /// </summary>
 /// <param name="id">The unique identifier of the Activity.</param>
 public ActivityBuilder(Uri id)
 {
     _id = id;
     _descriptionLanguageMap = new LanguageMap();
     _nameLanguageMap        = new LanguageMap();
     _extensions             = new Extension();
 }
示例#16
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);
        }
示例#17
0
        public void TestInvalidInit()
        {
            var name = new LanguageMap(LanguageTag.EnglishUS, "Name");
            var desc = new LanguageMap(LanguageTag.EnglishUS, "Description");

            Assert.Throws <UriFormatException>(() => new ActivityDefinition(name, desc, new Uri(string.Empty)));
        }
示例#18
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());
        }
        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);
        }
示例#20
0
        public void TestInvalidInit()
        {
            var uri = new VerbId("http://www.gowithfloat.com");
            var map = new LanguageMap(LanguageTag.EnglishUS, "floated");

            Assert.Throws <ArgumentNullException>(() => new Verb(uri, null));
        }
示例#21
0
        public void TestExample()
        {
            var id        = new Guid("fd41c918-b88b-4b20-a0a5-a4c32391aaa0");
            var timestamp = new DateTimeOffset(new DateTime(2015, 11, 18, 12, 17, 0));
            var address   = new Uri("mailto:[email protected]");
            var mailbox   = new Mailbox(address);
            var actor     = new Agent(mailbox, "Project Tin Can API");
            var verbUri   = new VerbId("http://example.com/xapi/verbs#sent-a-statement");

            var verbMap        = new LanguageMap(LanguageTag.EnglishUS, "sent");
            var verb           = new Verb(verbUri, verbMap);
            var nameMap        = new LanguageMap(LanguageTag.EnglishUS, "simple statement");
            var descriptionMap = new LanguageMap(LanguageTag.EnglishUS, "A simple Experience API statement. Note that the LRS does not need to have any prior information about the Actor(learner), the verb, or the Activity/ object.");

            var activityId = new ActivityId("http://example.com/xapi/activity/simplestatement");
            var thetype    = new Uri("http://adlnet.gov/expapi/activities/media");
            var definition = new ActivityDefinition(nameMap, descriptionMap, thetype, FSharpOption <Uri> .None);
            var activity   = new Activity(activityId, definition);

            var statement = new Statement(actor, verb, activity, id, timestamp: timestamp);

            Assert.NotNull(statement.Actor);
            Assert.NotNull(statement.Object);
            Assert.NotNull(statement.Timestamp);
            Assert.True(statement.Object is Activity);
            Assert.Null(statement.Authority);
        }
        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);
        }
示例#23
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());
        }
示例#24
0
 public ActivityDefinition(LanguageMap name,LanguageMap description, Uri type, string interactionType, string moreInfo, Extensible extensions)
 {
     this.name = name;
     this.description = description;
     this.type = type;
     this.interaction = interaction;
     this.moreInfo = moreInfo;
     this.extensions = extensions;
 }
 public ActivityDefinition(LanguageMap name,
     LanguageMap description,
     Uri type, string interactionType)
 {
     this.name = name;
     this.description = description;
     this.type = type;
     this.interactionType = interactionType;
 }
示例#26
0
        /// <summary>
        /// Gives the friendly name of the language with the given code.
        /// </summary>
        /// <param name="languageCode">The language code.</param>
        /// <returns>The friendly name of the language.</returns>
        public static string Decode(string languageCode)
        {
            if (LanguageMap.ContainsKey(languageCode))
            {
                return(LanguageMap[languageCode]);
            }

            return("Unknown");
        }
        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);
        }
示例#28
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));
        }
示例#29
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));
        }
示例#30
0
        public void TestToString()
        {
            var name        = new LanguageMap(LanguageTag.EnglishUS, "Name");
            var description = new LanguageMap(LanguageTag.EnglishUS, "Description");
            var uri         = new Uri("http://example.com");
            var ad1         = new ActivityDefinition(name, description, uri);

            // todo: need a good dict to string method
            // Assert.Equal("<ActivityDefinition: Name Description Type>", ad1.ToString());
        }
示例#31
0
        public ActionResult Edit(int id)
        {
            objLanguage = _repLanguage.GetSingle(x => x.Id == id);
            LanguageModel         objLanguageModel = LanguageMap.Map(objLanguage);
            List <SelectListItem> lstitems         = LanguageDirectionList();

            ViewData["LanguageDirection"] = lstitems;
            lstitems.Where(x => x.Text == objLanguage.LanguageDirection).SingleOrDefault().Selected = true;
            ViewBag.Contents = "current";
            return(View(objLanguageModel));
        }
        public object Deserialize(string value, JsonConverter converter)
        {
            LanguageMap langDict = new LanguageMap();
            IDictionary objMap = converter.DeserializeJSONToMap(value);
            foreach (object key in objMap.Keys)
            {
                langDict.Add((string)key, (string)objMap[key]);
            }

            return langDict;
        }
        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));
        }
示例#34
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());
        }
示例#35
0
 public StatementVerb(string id, string locale, string name)
 {
     if (IsUri(id))
     {
         this.id = id;
     }
     else
     {
         throw new ArgumentException("The URI " + id + " is malformed.", "id");
     }
     display = new LanguageMap();
     display[locale] = name;
 }
        public virtual bool Update(ActivityDefinition def)
        {
            bool updated = false;
            if (def == null)
            {
                return false;
            }

            if (/*def.Type != null &&*/ !def.type.Equals(this.type))
            {
                this.Type = def.Type;
                updated = true;
            }
            if (def.Name != null && def.Name.Count > 0 && !CommonFunctions.AreDictionariesEqual(this.name, def.name))
            {
                this.name = def.Name;
                updated = true;
            }
            if (def.description != null && def.description.Count > 0 && !CommonFunctions.AreDictionariesEqual(this.description, def.description))
            {
                this.description = def.Description;
                updated = true;
            }
            if (def.InteractionType != null && !def.InteractionType.Equals(this.InteractionType))
            {
                this.InteractionType = def.InteractionType;
                updated = true;
            }

            return updated;
        }
 /// <summary>
 /// Creates a Statement Verb from the predefined list of verbs
 /// </summary>
 /// <param name="verb"></param>
 public StatementVerb(PredefinedVerbs verb)
 {
     this.id = "http://adlnet.gov/expapi/verbs/" + verb.ToString().ToLower();
     this.display = new LanguageMap();
     this.display["en-US"] = verb.ToString().ToLower();
 }
 /// <summary>
 /// Creates a new statement verb given a URI String that is validated and a language map with a single entry
 /// </summary>
 /// <param name="id"></param>
 /// <param name="locale"></param>
 /// <param name="name"></param>
 public StatementVerb(string id, string locale, string name)
 {
     if (IsUri(id))
         this.id = id;
     else
         throw new ValidationException("The URI " + id + " is malformed.");
     display = new LanguageMap();
     display[locale] = name;
 }
 /// <summary>
 /// Creates a new statement verb with the provided ID and creates a language map with a single entry
 /// </summary>
 /// <param name="id"></param>
 /// <param name="locale"></param>
 /// <param name="name"></param>
 public StatementVerb(Uri id, string locale, string name)
 {
     this.id = id.ToString();
     display = new LanguageMap();
     display[locale] = name;
 }
 /// <summary>
 /// Creates a new statement verb with the provided ID and Display fields
 /// </summary>
 /// <param name="id"></param>
 /// <param name="display"></param>
 public StatementVerb(Uri id, LanguageMap display)
 {
     this.id = id.ToString();
     this.display = display;
 }