public async Task AllFreeAsync_SouldReturn_CollectionWithFreeProperties_FromDb()
        {
            var db     = this.GetDatabase();
            var mapper = this.GetMapper();

            var firstRentAgreement = new RentAgreement {
                Id = 1, EndDate = new DateTime(2000, 12, 12)
            };
            var secondRentAgreement = new RentAgreement {
                Id = 2, EndDate = new DateTime(2002, 12, 12)
            };
            var thirdRentAgreement = new RentAgreement {
                Id = 3, EndDate = new DateTime(2050, 12, 12)
            };
            var forthtRentAgreement = new RentAgreement {
                Id = 4, EndDate = new DateTime(2004, 12, 12)
            };
            var fifthRentAgreement = new RentAgreement {
                Id = 5, EndDate = null
            };

            var firstProp = new Property {
                Id            = 1, Name = "Голям склад", Area = 400, IsActual = true,
                PropertyRents = new List <PropertyRent>()
                {
                    new PropertyRent {
                        RentAgreement = firstRentAgreement
                    },
                    new PropertyRent {
                        RentAgreement = secondRentAgreement
                    }
                }
            };

            var secondProp = new Property {
                Id            = 2, Name = "Голям склад", Area = 300, IsActual = true,
                PropertyRents = new List <PropertyRent>()
                {
                    new PropertyRent {
                        RentAgreement = thirdRentAgreement
                    }
                }
            };
            var thirdProp = new Property {
                Id            = 3, Name = "Офис", Area = 80, IsActual = true,
                PropertyRents = new List <PropertyRent>()
                {
                    new PropertyRent {
                        RentAgreement = forthtRentAgreement
                    }
                }
            };
            var forthProp = new Property {
                Id            = 4, Name = "Стая", Area = 20, IsActual = true,
                PropertyRents = new List <PropertyRent>()
                {
                    new PropertyRent {
                        RentAgreement = fifthRentAgreement
                    }
                }
            };
            await db.Properties.AddRangeAsync(firstProp, secondProp, thirdProp, forthProp);

            await db.SaveChangesAsync();

            var propertyService = new PropertiesService(mapper, db);

            var result = await propertyService.AllFreeAsync();

            result
            .Should()
            .NotBeEmpty()
            .And
            .HaveCount(2)
            .And
            .Match(c =>
                   c.ElementAt(0).Id == 1 &&
                   c.ElementAt(1).Area == 80);
        }