     private func generateAleatoryNumber() -> Int {
         return Int(arc4random_uniform(1000) + 1)
     }
+    
+    private func convertToArrayOfRawValue<T: RawRepresentable where T.RawValue == Version>(versions: [T]) -> [T.RawValue] {
+        var rawValues: [T.RawValue] = []
+        for version in versions {
+            rawValues.append(version.rawValue)
+        }
+        
+        return rawValues
+    }
 }

    private let versionDAO: VersionDAOProtocol
    
    private typealias TestName = String
    private var tests = [TestName: [Version]]()
    private var selectedVersions: [TestName: Version]
    
    // MARK: - Init

        }
        
        let testName = extractTestName(firstVersion)

        if selectedVersions[testName] == nil {
            try raffleVersion(versions, testName: testName)
            
            guard let selectedVersions = selectedVersions[testName] else {
                throw GollumError.SelectedVersionNotFound("Test \(testName) should have a selected version.")
