| // -*- swift -*- |
| |
| //===----------------------------------------------------------------------===// |
| // Automatically Generated From validation-test/stdlib/Collection/Inputs/Template.swift.gyb |
| // Do Not Edit Directly! |
| //===----------------------------------------------------------------------===// |
| |
| // RUN: %target-run-simple-swift |
| // REQUIRES: executable_test |
| |
| import StdlibUnittest |
| import StdlibCollectionUnittest |
| |
| var CollectionTests = TestSuite("Collection") |
| |
| // Test collections using a reference type as element. |
| do { |
| var resiliencyChecks = CollectionMisuseResiliencyChecks.all |
| resiliencyChecks.creatingOutOfBoundsIndicesBehavior = .trap |
| |
| CollectionTests.addRandomAccessCollectionTests( |
| makeCollection: { (elements: [LifetimeTracked]) in |
| return DefaultedRandomAccessCollection(elements: elements) |
| }, |
| wrapValue: { (element: OpaqueValue<Int>) in |
| LifetimeTracked(element.value, identity: element.identity) |
| }, |
| extractValue: { (element: LifetimeTracked) in |
| OpaqueValue(element.value, identity: element.identity) |
| }, |
| makeCollectionOfEquatable: { (elements: [MinimalEquatableValue]) in |
| // FIXME: use LifetimeTracked. |
| return DefaultedRandomAccessCollection(elements: elements) |
| }, |
| wrapValueIntoEquatable: identityEq, |
| extractValueFromEquatable: identityEq, |
| resiliencyChecks: resiliencyChecks |
| ) |
| } |
| |
| runAllTests() |