         XCTAssert(!thisObject.descriptionInvoked, "Fail: String was interpolated when it shouldn't have been")
     }
 
-    func testExecExecutes() {
-        let log: XCGLogger = XCGLogger()
-        log.identifier = "com.cerebralgardens.xcglogger.testExecExecutes"
+    /// Test that closures for a log execute when required
+    func test_00070_ExecExecutes() {
+        let log: XCGLogger = XCGLogger(identifier: functionIdentifier())
         log.outputLogLevel = .Debug
 
         var numberOfTimes: Int = 0

        XCTAssert(numberOfTimes == 1, "Fail: Didn't execute the closure when it should have")
    }

    func testExecExecutesExactlyOnceWithNilReturnAndMultipleDestinations() {
        let log: XCGLogger = XCGLogger()
        log.setup(.Debug, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: "/tmp/test.log")
        log.identifier = "com.cerebralgardens.xcglogger.testExecExecutesExactlyOnceWithNilReturnAndMultipleDestinations"

        var numberOfTimes: Int = 0
        log.debug {

import XCTest
@testable import XCGLogger

/// Tests
class XCGLoggerTests: XCTestCase {
    /// This file's filename for use in testing expected log messages
    let filename = { return (#file as NSString).lastPathComponent }()

    /// Calculate a base identifier to use for the giving function name.
    ///
    /// - Parameters:
    ///     - functionName: Normally omitted **Default:** *#function*.
    ///
    /// - Returns:  A string to use as the base identifier for objects in the test
    ///
    func functionIdentifier(functionName: StaticString = #function) -> String {
        return "com.cerebralgardens.xcglogger." + String(functionName)
    }

    /// Set up prior to each test
    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }

    /// Tear down after each test
    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
