public void MinimalEvent_MatchesReferenceJson()
        {
            var @object = new BaseEntity("https://example.com/viewer/book/34843#epubcfi(/4/3)")
            {
                Type = new EntityType("http://www.idpf.org/epub/vocab/structure/#volume")
            };

            var actor = new Agent("https://example.edu/user/554433")
            {
                Type = new EntityType("http://purl.imsglobal.org/caliper/v1/lis/Person")
            };

            var @event = new BaseEvent
            {
                Actor     = actor,
                Action    = Action.Viewed,
                Object    = @object,
                EventTime = TestEntities.DefaultStartedAtTime
            };

            var caliperMessage = new CaliperMessage <BaseEvent>
            {
                SensorId = "https://example.edu/sensor/001",
                SendTime = TestEntities.DefaultSendTime,
                Data     = new[] { @event }
            };

            JsonAssertions.AssertSameObjectJson(caliperMessage, "caliperEnvelopeEventViewViewedMinimal");
        }
        public void CaliperMessage_MatchesReferenceJson()
        {
            var navigationEvent = new NavigationEvent {
                Actor            = TestEntities.User554433,
                Object           = TestEntities.EpubVolume43,
                Target           = TestEntities.EpubSubChap431_Frame,
                FromResource     = TestEntities.AmRev101LandingPage,
                EventTime        = TestEntities.DefaultStartedAtTime,
                EdApp            = TestEntities.EpubViewerApp,
                Group            = TestEntities.AmRev101_Group001,
                Membership       = TestEntities.User554433_AmRev101_CourseSection001_Membership,
                FederatedSession = TestEntities.FederatedSession
            };

            var caliperMessage = new CaliperMessage <Event> {
                SensorId = "https://example.edu/sensor/001",
                SendTime = TestEntities.DefaultSendTime,
                Data     = new [] { navigationEvent }
            };

            JsonAssertions.AssertSameObjectJson(caliperMessage, "eventStorePayload");
        }