public async Task ElectricAsyncReturnsOnlyElctricBikesAndOrderThemCorrectly() { //Arrange var db = this.GetDatabase(); var electricBikeOne = new Bike { Id = 1, Make = Make.Drag, Model = "Dragomir Electric", Price = 1700.90m, BatteryMake = "Toshiba", BatteryPower = 1400 }; var electricBikeTwo = new Bike { Id = 2, Make = Make.Drag, Model = "Shock", Price = 1800.90m, BatteryMake = "Toshiba", BatteryPower = 1400 }; var electricBikeThree = new Bike { Id = 3, Make = Make.Drag, Model = "Byung", Price = 1760.90m, BatteryMake = "Toshiba", BatteryPower = 1400 }; var nonElectric = new Bike { Id = 4, Make = Make.Pinarello, Model = "Dogma F8", Price = 18000.790m }; db.AddRange(electricBikeOne, electricBikeTwo, electricBikeThree, nonElectric); await db.SaveChangesAsync(); var bikeService = new BikeService(db); //Act var electrics = await bikeService.ElectricAsync(); //Assert electrics .Should() .Match(b => b.ElementAt(0).Id == 3 && b.ElementAt(1).Id == 2 && b.ElementAt(2).Id == 1) .And .HaveCount(3); }