private static void ValidateSportEvent(ICompetition item, bool ignoreDate = false)
        {
            Assert.IsNotNull(item, "Sport event not found.");
            Assert.AreEqual(TestData.EventId, item.Id, "Id not correct.");

            var date        = item.GetScheduledTimeAsync().Result;
            var competitors = item.GetCompetitorsAsync().Result?.ToList();
            var comp        = competitors?.FirstOrDefault();
            var venue       = item.GetVenueAsync().Result;
            var status      = item.GetStatusAsync().Result;

            Assert.IsTrue(date != null, "date == null");
            if (!ignoreDate)
            {
                Assert.AreEqual(new DateTime(2016, 08, 10), new DateTime(date.Value.Year, date.Value.Month, date.Value.Day));
            }

            Assert.AreEqual(2, competitors?.Count);
            if (comp != null)
            {
                Assert.AreEqual("sr:competitor:66390", comp.Id.ToString());
                Assert.AreEqual(@"Pericos de Puebla", comp.GetName(TestData.Culture));
                Assert.AreEqual(3, comp.Countries.Count);
                Assert.AreEqual("Mexico", comp.Countries[TestData.Culture]);
                Assert.AreNotEqual(comp.Countries[TestData.Culture], comp.Countries[new CultureInfo("de")]);
            }
            Assert.AreEqual(3, venue.Names.Count);
            Assert.IsTrue(!string.IsNullOrEmpty(venue.GetName(TestData.Culture)));

            Assert.IsNotNull(status);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adds the info about the passed <see cref="ICompetition"/> to the provided <see cref="StringBuilder"/>
        /// </summary>
        /// <param name="competition">The <see cref="ICompetition"/> containing data to display</param>
        /// <param name="builder">The <see cref="StringBuilder"/> to which to add the data</param>
        private void AddSportEventData(ICompetition competition, StringBuilder builder)
        {
            Guard.Argument(competition, nameof(competition)).NotNull();
            Guard.Argument(builder, nameof(builder)).NotNull();

            AddEntityData(competition, builder);

            var bookingStatus     = _taskProcessor.GetTaskResult(competition.GetBookingStatusAsync());
            var venue             = _taskProcessor.GetTaskResult(competition.GetVenueAsync());
            var competitionStatus = _taskProcessor.GetTaskResult(competition.GetStatusAsync());
            var conditions        = _taskProcessor.GetTaskResult(competition.GetConditionsAsync());
            var competitors       = _taskProcessor.GetTaskResult(competition.GetCompetitorsAsync());
            var comps             = competitors == null
                ? "null"
                : string.Join(", ", competitors.Select(s => s.ToString("f")));

            builder.Append(" CompetitionStatus=").Append(competitionStatus?.Status)
            .Append(" BookingStatus=").Append(bookingStatus == null ? "null" : Enum.GetName(typeof(BookingStatus), bookingStatus))
            .Append(" Venue=").Append(venue?.Id.ToString() ?? "null")
            .Append(" Conditions=").Append(conditions?.EventMode)
            .Append(" Competitors=[").Append(comps).Append("]");
        }