         XCTAssertNil(date, "Initial last refresh date should be nil.")
     }
     
-    // MARK: - Test API
+    // MARK: - Test Accessors
+    
+    func testInitialAccessorsWithoutDefaultValues() {
+        let bool = ConfigBool(ConfigKey.TestBool)
+        XCTAssertEqual(bool, false, "Should default to false.")
+        
+        let int = ConfigInt(ConfigKey.TestInt)
+        XCTAssertEqual(int, 0, "Should default to 0.")
+        
+        let double = ConfigDouble(ConfigKey.TestDouble)
+        XCTAssertEqual(double, 0.0, "Should default to 0.0.")
+        
+        let string = ConfigString(ConfigKey.TestString)
+        XCTAssertEqual(string, String(), "Should default to empty string.")
+    }
+    
+    func testInitialAccessorsWithDefaultValues() {
+        let bool = ConfigBool(ConfigKey.TestBool, true)
+        XCTAssertEqual(bool, true, "Should default to given value.")
+        
+        let int = ConfigInt(ConfigKey.TestInt, 1984)
+        XCTAssertEqual(int, 1984, "Should default to given value.")
+        
+        let double = ConfigDouble(ConfigKey.TestDouble, 21.08)
+        XCTAssertEqual(double, 21.08, "Should default to given value.")
+        
+        let string = ConfigString(ConfigKey.TestString, "Hello")
+        XCTAssertEqual(string, "Hello", "Should default to given value.")
+    }
+    
+    // MARK: - Test API - Launch
     
     func testLaunchWithoutParameters() {
         Config.launch()
         
         testInitialSettings()
         testInitialLastRefreshDate()
+        
+        testInitialAccessorsWithDefaultValues()
+        testInitialAccessorsWithoutDefaultValues()
     }
     
     func testLaunchWithLocalConfig() {
-        Config.launch(localConfig: localConfig)
+        Config.launch(localConfig: localTestConfig)
 
         let settings = Config.settings
         XCTAssertEqual(settings.count, 4, "Initial settings should contain given local config.")

        waitForExpectationsWithTimeout(5, handler: nil)
    }
    
    // MARK: - Test Accessors
    
    func checkAccessorsWithRemoteConfigButWithoutDefaultValues() {
        let bool = ConfigBool("RemoteBool")
        XCTAssertEqual(bool, false, "Should default to value in remote config.")

        super.tearDown()
    }
    
    // MARK: - Helper Properties
    
    struct ConfigKey {
        static let TestBool = "TestBool"
        static let TestInt = "TestInt"
        static let TestDouble = "TestDouble"
        static let TestString = "TestString"
    }
    
    let localTestConfig: [String : AnyObject] = [
        ConfigKey.TestBool : false,
        ConfigKey.TestInt : 21,
        ConfigKey.TestDouble : 0.8,
        ConfigKey.TestString : "Local"
    ]
    
    let remoteTestConfig: [String : AnyObject] = [
        ConfigKey.TestBool : true,
        ConfigKey.TestInt : 8,
        ConfigKey.TestDouble : 2.1,
        ConfigKey.TestString : "Remote"
    ]
    
    // MARK: - Test Properties
