public void CanSearchMateWithCategoriesAddressAndRankTest() { IMateDAO <Mate> MateDAO = new MateDAO(_connection); Mate firstMate = new Mate(); firstMate.FirstName = "Marcelo"; firstMate.LastName = "Carvalho"; firstMate.UserName = "******"; firstMate.Password = "******"; firstMate.Email = "*****@*****.**"; firstMate.Description = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."; firstMate.Address = "Sra. Aparecida, Lousada"; firstMate.Categories = new[] { Categories.CLEANING, Categories.ELECTRICITY }; firstMate.Rank = Ranks.MATE; firstMate.Range = 50; Mate returnedFirst = MateDAO.Create(firstMate); Mate secondMate = new Mate(); secondMate.FirstName = "Samuel"; secondMate.LastName = "Cunha"; secondMate.UserName = "******"; secondMate.Password = "******"; secondMate.Email = "*****@*****.**"; secondMate.Description = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."; secondMate.Address = "Rua de Salgueiros, Penafiel"; secondMate.Categories = new[] { Categories.GARDENING, Categories.FURNITURE_ASSEMBLE }; secondMate.Range = 20; Mate returnedSecond = MateDAO.Create(secondMate); MateDAO.UpdateRank(Ranks.SUPER_MATE, returnedSecond.Id); Categories[] categories = { Categories.CLEANING, Categories.GARDENING }; string myAddress = "Rua de Salgueiros, Penafiel"; List <Mate> mates = MateDAO.GetMates(categories, myAddress, Ranks.SUPER_MATE, null, null); Mate[] matesArray = mates.ToArray(); Assert.Equal(returnedSecond.FirstName, matesArray[0].FirstName); Assert.Equal(returnedSecond.LastName, matesArray[0].LastName); Assert.Equal(returnedSecond.UserName, matesArray[0].UserName); Assert.Equal(returnedSecond.Email, matesArray[0].Email); Assert.Equal(returnedSecond.Description, matesArray[0].Description); Assert.Equal(returnedSecond.Address, matesArray[0].Address); Assert.Equal(returnedSecond.Categories, matesArray[0].Categories); Assert.Equal(Ranks.SUPER_MATE, matesArray[0].Rank); Assert.Equal(returnedSecond.Range, matesArray[0].Range); Assert.Single(matesArray); _fixture.Dispose(); }