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); }
/// <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("]"); }