From 026db916dc668c5bd9ca978b1252d322820389f3 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Fri, 5 Jan 2018 21:59:17 +0100 Subject: [PATCH 1/2] fix Int32 random method generation with passed range into it --- SwiftRandom/Randoms.swift | 2 +- SwiftRandomTests/SwiftRandomTests.swift | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/SwiftRandom/Randoms.swift b/SwiftRandom/Randoms.swift index 0794225..4ea9afb 100644 --- a/SwiftRandom/Randoms.swift +++ b/SwiftRandom/Randoms.swift @@ -40,7 +40,7 @@ public extension Int { public extension Int32 { /// SwiftRandom extension public static func random(_ range: Range) -> Int32 { - return random(range.upperBound, range.lowerBound) + return random(range.lowerBound, range.upperBound) } /// SwiftRandom extension diff --git a/SwiftRandomTests/SwiftRandomTests.swift b/SwiftRandomTests/SwiftRandomTests.swift index 9c5914e..517fe9f 100644 --- a/SwiftRandomTests/SwiftRandomTests.swift +++ b/SwiftRandomTests/SwiftRandomTests.swift @@ -33,6 +33,7 @@ class SwiftRandomTests: XCTestCase { /// Tests for extensions applied directly above Swift types. func testTypeExtensions() { XCTAssertNotNil(Int.random()) + XCTAssertNotNil(Int32.random()) XCTAssertNotNil(Date.random()) XCTAssertNotNil(Date.randomWithinDaysBeforeToday(7)) XCTAssertNotNil(CGFloat.random()) @@ -66,7 +67,17 @@ class SwiftRandomTests: XCTestCase { XCTAssertLessThan(randomLessTen, 10) } } - + + func testRandomInt32Range() { + for _ in 0...10 { + + let randomLessTen = Int32.random(0..<10) + + XCTAssertGreaterThanOrEqual(randomLessTen, Int32(0)) + XCTAssertLessThan(randomLessTen, Int32(10)) + } + } + /// Tests generating random a `String` of a specified length. func testRandomStringOfLength() { let precision = 100 From 878cd2105589e65a53447391a2c40811c00d7d52 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Mon, 8 Jan 2018 07:02:21 +0100 Subject: [PATCH 2/2] add swift version check for Int32.random extention method --- SwiftRandom/Randoms.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SwiftRandom/Randoms.swift b/SwiftRandom/Randoms.swift index 4ea9afb..9159138 100644 --- a/SwiftRandom/Randoms.swift +++ b/SwiftRandom/Randoms.swift @@ -40,7 +40,11 @@ public extension Int { public extension Int32 { /// SwiftRandom extension public static func random(_ range: Range) -> Int32 { + #if swift(>=3) return random(range.lowerBound, range.upperBound) + #else + return random(range.lowerBound, range.upperBound - 1) + #endif } /// SwiftRandom extension