mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
88 lines
2.9 KiB
Swift
88 lines
2.9 KiB
Swift
// RUN: %target-run-simple-swift
|
|
// REQUIRES: executable_test
|
|
|
|
// REQUIRES: objc_interop
|
|
|
|
import StdlibUnittest
|
|
|
|
import Foundation
|
|
import SpriteKit
|
|
|
|
var SpriteKitTests = TestSuite("SpriteKit")
|
|
|
|
// Check that the subscript is there.
|
|
@available(OSX,introduced: 10.10)
|
|
@available(iOS,introduced: 8.0)
|
|
@available(tvOS,introduced: 8.0)
|
|
@available(watchOS,introduced: 2.0)
|
|
func testSubscript(_ node: SKNode) {
|
|
var result = node["me"]
|
|
expectType(Array<SKNode>.self, &result)
|
|
}
|
|
|
|
SpriteKitTests.test("SKColor/TypeEquivalence") {
|
|
// SKColor is NSColor on OS X and UIColor on iOS.
|
|
#if os(OSX)
|
|
expectEqualType(NSColor.self, SKColor.self)
|
|
#elseif os(iOS) || os(tvOS) || os(watchOS)
|
|
expectEqualType(UIColor.self, SKColor.self)
|
|
#else
|
|
_UnknownOSError()
|
|
#endif
|
|
}
|
|
|
|
SpriteKitTests.test("getRed(_:green:blue:alpha:)") {
|
|
var r: CGFloat = 0.0
|
|
var g: CGFloat = 0.0
|
|
var b: CGFloat = 0.0
|
|
var a: CGFloat = 0.0
|
|
let color = SKColor.red
|
|
color.getRed(&r, green: &g, blue: &b, alpha: &a)
|
|
expectEqual(1.0, r)
|
|
expectEqual(0.0, g)
|
|
expectEqual(0.0, b)
|
|
expectEqual(1.0, a)
|
|
}
|
|
|
|
if #available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
|
|
SpriteKitTests.test("SKNode.setValue(_:forAttribute:)") {
|
|
let node = SKSpriteNode()
|
|
let attrVal = SKAttributeValue(float: 2.0)
|
|
node.setValue(attrVal, forAttribute: "test")
|
|
expectEqual(node.attributeValues["test"], attrVal)
|
|
}
|
|
|
|
SpriteKitTests.test("SKWarpGeometryGrid/init") {
|
|
var warpGrid = SKWarpGeometryGrid(columns: 1, rows: 1)
|
|
|
|
expectEqual(warpGrid.sourcePosition(at: 0).x, 0.0)
|
|
warpGrid = warpGrid.replacingBySourcePositions(positions: [float2(1.0), float2(2.0), float2(3.0), float2(4.0)])
|
|
expectEqual(warpGrid.sourcePosition(at: 0).x, 1.0)
|
|
|
|
expectEqual(warpGrid.destPosition(at: 0).x, 0.0)
|
|
warpGrid = warpGrid.replacingByDestinationPositions(positions: [float2(1.0), float2(2.0), float2(3.0), float2(4.0)])
|
|
expectEqual(warpGrid.destPosition(at: 0).x, 1.0)
|
|
|
|
warpGrid = SKWarpGeometryGrid(columns: 1, rows: 1, destinationPositions: [float2(1.0), float2(2.0), float2(3.0), float2(4.0)])
|
|
expectEqual(warpGrid.destPosition(at: 0).x, 1.0)
|
|
expectEqual(warpGrid.sourcePosition(at: 0).x, 0.0)
|
|
|
|
warpGrid = SKWarpGeometryGrid(columns: 1, rows: 1, sourcePositions: [float2(1.0), float2(2.0), float2(3.0), float2(4.0)])
|
|
expectEqual(warpGrid.destPosition(at: 0).x, 0.0)
|
|
expectEqual(warpGrid.sourcePosition(at: 0).x, 1.0)
|
|
|
|
warpGrid = SKWarpGeometryGrid(columns: 1, rows: 1, sourcePositions: [float2(2.0), float2(1.0), float2(3.0), float2(4.0)], destinationPositions: [float2(1.0), float2(2.0), float2(3.0), float2(4.0)])
|
|
expectEqual(warpGrid.destPosition(at: 0).x, 1.0)
|
|
expectEqual(warpGrid.sourcePosition(at: 0).x, 2.0)
|
|
}
|
|
|
|
SpriteKitTests.test("SKWarpGeometryGrid/properties") {
|
|
func checkTheAPIsAreAvailable(grid: SKWarpGeometryGrid) {
|
|
_ = grid.replacingBySourcePositions(positions: [])
|
|
_ = grid.replacingByDestinationPositions(positions: [])
|
|
}
|
|
}
|
|
}
|
|
|
|
runAllTests()
|