Пример #1
0
 public void TestAboutExample()
 {
     var id         = new Guid("2a41c918-b88b-4220-20a5-a4c32391a240");
     var account    = new Account("1625378", new Uri("http://example.adlnet.gov"));
     var agent      = new Agent(account, "Gert Frobe");
     var verb       = new Verb(new VerbId("http://adlnet.gov/expapi/verbs/failed"), new LanguageMap(LanguageTag.EnglishUS, "failed"));
     var activity   = new Activity(new ActivityId("https://example.adlnet.gov/AUidentifier"));
     var extensions = new Dictionary <Uri, object>
     {
         {
             new Uri("https://w3id.org/xapi/cmi5/result/extensions/progress"), "100"
         },
     };
     var timespan   = new TimeSpan(0, 30, 0);
     var result     = new Result(new Score(), false, duration: timespan, extensions: extensions);
     var categories = 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 contextActivities = new ContextActivities(category: categories);
     var ctxExtensions     = new Dictionary <Uri, object>
     {
         {
             new Uri("https://w3id.org/xapi/cmi5/context/extensions/sessionid"), "458240298378231"
         },
     };
     var context   = new Context(new Guid("ec231277-b27b-4c15-8291-d29225b2b8f7"), contextActivities: contextActivities, extensions: ctxExtensions);
     var timestamp = new DateTimeOffset(new DateTime(2012, 6, 1, 19, 13, 24));
     var statement = new Statement(agent, verb, activity, id, result, context, timestamp);
 }
Пример #2
0
 public void AddToContext(string name)
 {
     if (ContextActivities != null && !ContextActivities.Exists(x => x.Name.Equals(name)))
     {
         ContextActivities.Add(new TraceActivity(name));
     }
 }
Пример #3
0
        public ContextActivities Convert(ICollection <ContextActivityEntity> source, ContextActivities destination, ResolutionContext resolutionContext)
        {
            var context = new ContextActivities();

            var grouping = source.GroupBy(x => x.ContextType);

            foreach (var group in grouping)
            {
                var collection = new ActivityCollection();
                switch (group.Key)
                {
                case ContextType.Parent:
                    if (context.Parent == null)
                    {
                        context.Parent = new ActivityCollection();
                    }
                    collection = context.Parent;
                    break;

                case ContextType.Grouping:
                    if (context.Grouping == null)
                    {
                        context.Grouping = new ActivityCollection();
                    }
                    collection = context.Grouping;
                    break;

                case ContextType.Category:
                    if (context.Category == null)
                    {
                        context.Category = new ActivityCollection();
                    }
                    collection = context.Category;
                    break;

                case ContextType.Other:
                    if (context.Other == null)
                    {
                        context.Other = new ActivityCollection();
                    }
                    collection = context.Other;
                    break;

                case ContextType.Invalid:
                default:
                    throw new NotImplementedException();
                }

                foreach (var item in group.AsEnumerable())
                {
                    collection.Add(new Activity()
                    {
                        Id = new Iri(item.Activity.Id)
                    });
                }
            }

            return(context);
        }
Пример #4
0
        public ICollection <ContextActivityEntity> Convert(ContextActivities source, ICollection <ContextActivityEntity> destination, ResolutionContext resolutionContext)
        {
            var result = new HashSet <ContextActivityEntity>();

            if (source == null)
            {
                return(null);
            }

            if (source.Category != null)
            {
                foreach (var item in source.Category)
                {
                    result.Add(new ContextActivityEntity()
                    {
                        ContextType = ContextType.Category,
                        Activity    = resolutionContext.Mapper.Map <ActivityEntity>(item)
                    });
                }
            }

            if (source.Parent != null)
            {
                foreach (var item in source.Parent)
                {
                    result.Add(new ContextActivityEntity()
                    {
                        ContextType = ContextType.Parent,
                        Activity    = resolutionContext.Mapper.Map <ActivityEntity>(item)
                    });
                }
            }

            if (source.Other != null)
            {
                foreach (var item in source.Other)
                {
                    result.Add(new ContextActivityEntity()
                    {
                        ContextType = ContextType.Other,
                        Activity    = resolutionContext.Mapper.Map <ActivityEntity>(item)
                    });
                }
            }

            if (source.Grouping != null)
            {
                foreach (var item in source.Grouping)
                {
                    result.Add(new ContextActivityEntity()
                    {
                        ContextType = ContextType.Grouping,
                        Activity    = resolutionContext.Mapper.Map <ActivityEntity>(item)
                    });
                }
            }

            return(result);
        }
Пример #5
0
        public void ConstructorWithArray()
        {
            var json = "{" +
                       "\"parent\": [" + sampleActivity1.ToJSON() + ", " + sampleActivity2.ToJSON() + "]," +
                       "\"grouping\": [" + sampleActivity1.ToJSON() + ", " + sampleActivity2.ToJSON() + "]," +
                       "\"category\": [" + sampleActivity1.ToJSON() + ", " + sampleActivity2.ToJSON() + "]," +
                       "\"other\": [" + sampleActivity1.ToJSON() + ", " + sampleActivity2.ToJSON() + "]" +
                       "}";

            ContextActivities contextActivities = new ContextActivities(new StringOfJSON(json));

            ValidateActivityList(contextActivities.parent, 2);
            ValidateActivityList(contextActivities.grouping, 2);
            ValidateActivityList(contextActivities.category, 2);
            ValidateActivityList(contextActivities.other, 2);
        }
        public void ConstructorWithArray()
        {
            var json = "{" +
                       "\"parent\": [" + sampleActivity1.ToJson() + ", " + sampleActivity2.ToJson() + "]," +
                       "\"grouping\": [" + sampleActivity1.ToJson() + ", " + sampleActivity2.ToJson() + "]," +
                       "\"category\": [" + sampleActivity1.ToJson() + ", " + sampleActivity2.ToJson() + "]," +
                       "\"other\": [" + sampleActivity1.ToJson() + ", " + sampleActivity2.ToJson() + "]" +
                       "}";

            ContextActivities contextActivities = new ContextActivities(new TinCan.Json.StringOfJson(json));

            ValidateActivityList(contextActivities.Parent, 2);
            ValidateActivityList(contextActivities.Grouping, 2);
            ValidateActivityList(contextActivities.Category, 2);
            ValidateActivityList(contextActivities.Other, 2);
        }
Пример #7
0
        /// <summary>
        /// Creates the Context object constructed from the
        /// fluent configuration.
        /// </summary>
        /// <returns>The Context object constructed.</returns>
        public Context Build()
        {
            ContextActivities contextActivities = null;

            if (HasContextActivities)
            {
                contextActivities = new ContextActivities(_parents, _groupings, _categories, _others);
            }

            return(new Context(_registration,
                               _instructor,
                               _team,
                               contextActivities,
                               _revision,
                               _platform,
                               _language,
                               _statementReference.HasValue ? new StatementReference(_statementReference.Value) : null,
                               _extensions));
        }
Пример #8
0
        private Context BuildTextContext()
        {
            Guid registration = new Guid("42c0855b-8f64-47f3-b0e2-3f337930045a");
            ContextActivities contextActivities = new ContextActivities();
            string            revision          = "";
            string            platform          = "";
            string            language          = "";
            StatementRef      statement         = new StatementRef();

            TinCan.Extensions extensions = new TinCan.Extensions();

            Context context = new Context();

            context.registration      = registration;
            context.contextActivities = contextActivities;
            context.revision          = revision;
            context.platform          = platform;
            context.language          = language;
            context.statement         = statement;
            context.extensions        = extensions;

            return(context);
        }
Пример #9
0
        private Context BuildTextContext()
        {
            var registration      = new Guid("42c0855b-8f64-47f3-b0e2-3f337930045a");
            var contextActivities = new ContextActivities();
            var revision          = "";
            var platform          = "";
            var language          = "";
            var statement         = new StatementRef();
            var extensions        = new Extensions();

            var context = new Context
            {
                Registration      = registration,
                ContextActivities = contextActivities,
                Revision          = revision,
                Platform          = platform,
                Language          = language,
                Statement         = statement,
                Extensions        = extensions
            };

            return(context);
        }