     // Then
     XCTAssertTrue(try SportCar.fetch(in: context).filter { $0.numberPlate == "302" }.isEmpty)
     XCTAssertTrue(try ExpensiveSportCar.fetch(in: context).filter { $0.numberPlate == "302" }.isEmpty)
-
+    
     // When
     XCTAssertNoThrow(try ExpensiveSportCar.deleteAll(in: context, where: NSPredicate(format: "%K == %@", #keyPath(SportCar.numberPlate), "301")))
     // Then
     XCTAssertTrue(try SportCar.fetch(in: context).filter { $0.numberPlate == "301" }.isEmpty)
     XCTAssertTrue(try ExpensiveSportCar.fetch(in: context).filter { $0.numberPlate == "301" }.isEmpty)
-
+    
     // When
     XCTAssertNoThrow(try SportCar.deleteAll(in: context, where: NSPredicate(value: true)))
     // Then
     XCTAssertTrue(try SportCar.fetch(in: context).isEmpty)
     XCTAssertTrue(try ExpensiveSportCar.fetch(in: context).isEmpty)
     XCTAssertTrue(try !Car.fetch(in: context).isEmpty)
-
+    
     // When
     XCTAssertNoThrow(try Car.deleteAll(in: context))
     // Then
     XCTAssertTrue(try Car.fetch(in: context).isEmpty)
-
+    
   }
-
+  
   func testDeleteAllExcludingSubentities() {
     let context = container.viewContext
-
+    
     // Given
     context.fillWithSampleData()
     // When

    let carsAfterDelete = try Car.fetch(in: context)
    XCTAssertTrue(carsAfterDelete.count == 3)
  }

}

    // Then
    XCTAssertFalse(try SportCar.fetch(in: context).filter { $0.numberPlate == "302" }.isEmpty)
    XCTAssertFalse(try ExpensiveSportCar.fetch(in: context).filter { $0.numberPlate == "302" }.isEmpty)
    
    // When
    XCTAssertNoThrow(try ExpensiveSportCar.deleteAll(in: context, includingSubentities: false, where: NSPredicate(format: "%K == %@", #keyPath(SportCar.numberPlate), "301")))
    // Then
    XCTAssertTrue(try SportCar.fetch(in: context).filter { $0.numberPlate == "301" }.isEmpty)
    XCTAssertTrue(try ExpensiveSportCar.fetch(in: context).filter { $0.numberPlate == "301" }.isEmpty)
    
    // When
    XCTAssertNoThrow(try SportCar.deleteAll(in: context, includingSubentities: false, where: NSPredicate(value: true)))
    // Then
    XCTAssertFalse(try SportCar.fetch(in: context).isEmpty)
    XCTAssertFalse(try ExpensiveSportCar.fetch(in: context).isEmpty)
    
    // When
    XCTAssertNoThrow(try Car.deleteAll(in: context))
    // Then
    XCTAssertTrue(try Car.fetch(in: context).isEmpty)
    
  }
  
  func testDeleteAllExcludingExceptions() throws {
    let context = container.viewContext
    context.fillWithSampleData()
    
    // Given
    let optonalCar = try Car.fetch(in: context).filter { $0.numberPlate == "5" }.first
    let optionalPerson = try Person.fetch(in: context).filter { $0.firstName == "Theodora" && $0.lastName == "Stone" }.first
    let persons = try Person.fetch(in: context).filter { $0.lastName == "Moreton" }
    
    // When
    guard let car = optonalCar, let person = optionalPerson, !persons.isEmpty else {
      XCTAssertNotNil(optonalCar)
