private IList <TablesAvailability> GetTablesAvailabilityList(
            IList <TableModel> tables,
            IList <ReservationDetailedModel> existingReservations)
        {
            var concurrentReservationsList = _concurrentEventsService.GetConcurrentEvents(existingReservations);

            var tablesAvailabilityList = new List <TablesAvailability>();

            foreach (var concurrentReservations in concurrentReservationsList)
            {
                var reservedTablesIds = concurrentReservations.Events
                                        .SelectMany(r => r.Tables)
                                        .Select(t => t.Id);

                var freeTables = tables.Where(t => !reservedTablesIds.Contains(t.Id));

                var tablesAvailability = new TablesAvailability
                {
                    Range      = concurrentReservations.Range,
                    FreeTables = freeTables.ToList()
                };
                tablesAvailabilityList.Add(tablesAvailability);
            }

            return(tablesAvailabilityList);
        }
        public void Should_ReturnEmpty_When_Null()
        {
            // Act
            var concurrentEvents = _concurrentEventsService.GetConcurrentEvents(null);

            // Assert
            Assert.Empty(concurrentEvents);
        }