AppActs.API.Test.Integration.EventMapperTest.Save_ScreenRouteSimiliarRoutes_ValuesIncrementMatchesCorrectly C# (CSharp) Method

Save_ScreenRouteSimiliarRoutes_ValuesIncrementMatchesCorrectly() private method

        public void Save_ScreenRouteSimiliarRoutes_ValuesIncrementMatchesCorrectly()
        {
            EventMapper eventMapper = new EventMapper(this.client, this.database);
            Guid applicationId = Guid.NewGuid();
            Guid deviceId = Guid.NewGuid();

            ScreenRouteSummary expected = new ScreenRouteSummary()
            {
                ApplicationId = applicationId,
                Count = 2,
                Date = date,
                PlatformId = platform,
                Version = version,
                ScreenRoutes = new List<ScreenRoute>()
                {
                     new ScreenRoute("screenNameBefore", "screenNameAfter")
                     {
                         Count = 1
                     },
                     new ScreenRoute("screenNameOther", "screenNameAfter")
                     {
                         Count = 1
                     }
                }
            };

            Event eventItem = new Event()
            {
                ApplicationId = applicationId,
                Date = date,
                Version = version,
                PlatformId = platform,
                DateCreatedOnDevice = dateCreatedOnDevice,
                DeviceId = deviceId,
                DateCreated = date,
                EventTypeId = Model.Enum.EventType.ScreenOpen,
                ScreenName = "screenNameAfter"
            };

            ScreenRouteSummary summaryBefore = new ScreenRouteSummary(eventItem, "screenNameBefore", eventItem.ScreenName);
            ScreenRouteSummary summaryOther = new ScreenRouteSummary(eventItem, "screenNameOther", eventItem.ScreenName);
            eventMapper.Save(summaryBefore);
            eventMapper.Save(summaryOther);

            IMongoQuery query = Query.And
                (
                    Query<ScreenRouteSummary>.EQ<DateTime>(mem => mem.Date, date),
                    Query<ScreenRouteSummary>.EQ<Guid>(mem => mem.ApplicationId, applicationId),
                    Query<ScreenRouteSummary>.EQ<string>(mem => mem.Version, version),
                    Query<ScreenRouteSummary>.EQ<PlatformType>(mem => mem.PlatformId, platform)
                );

            ScreenRouteSummary actual = this.GetCollection<ScreenRouteSummary>().FindOne(query);

            actual.ShouldHave().AllPropertiesBut(x => x.Id).IncludingNestedObjects().EqualTo(expected);
        }