                        expectedAmountOfAdvertisersAfterStopMethod)
     }
 
+    func testStartAdvertisingTwiceChangesInternalAmountOfAdvertisers() {
+        // Given
+        let expectedAmountOfAdvertisersBeforeStartMethod = 0
+        let expectedAmountOfAdvertisersAfterFirstStartMethod = 1
+        let expectedAmountOfAdvertisersAfterSecondStartMethod = 2
+
+        XCTAssertEqual(advertiserManager.advertisers.value.count,
+                       expectedAmountOfAdvertisersBeforeStartMethod)
+
+        // When
+        advertiserManager.startUpdateAdvertisingAndListening(onPort: 42,
+                                                             errorHandler: unexpectedErrorHandler)
+
+        // Then
+        XCTAssertTrue(advertiserManager.advertising, "advertising is not active")
+        XCTAssertEqual(advertiserManager.advertisers.value.count,
+                       expectedAmountOfAdvertisersAfterFirstStartMethod)
+
+        // When
+        advertiserManager.startUpdateAdvertisingAndListening(onPort: 43,
+                                                             errorHandler: unexpectedErrorHandler)
+
+        // Then
+        XCTAssertTrue(advertiserManager.advertising, "advertising is not active")
+        XCTAssertEqual(advertiserManager.advertisers.value.count,
+                       expectedAmountOfAdvertisersAfterSecondStartMethod)
+    }
+
     func testStartStopStartAdvertisingChangesInternalAmountOfAdvertisers() {
         // Given
         let expectedAmountOfAdvertisersBeforeStartMethod = 0


        // When
        advertiserManager.startUpdateAdvertisingAndListening(onPort: 42,
                                                             errorHandler: unexpectedErrorHandler)

        // Then

    var advertiserManager: AdvertiserManager!
    let disposeTimeout: NSTimeInterval = 4.0

    // MARK: - Setup & Teardown
    override func setUp() {
        super.setUp()
        serviceType = String.randomValidServiceType(length: 7)
        advertiserManager = AdvertiserManager(serviceType: serviceType,
                                              disposeAdvertiserTimeout: disposeTimeout)
    }

    override func tearDown() {
        serviceType = nil
        advertiserManager.stopAdvertising()
        advertiserManager = nil
        super.tearDown()
    }

    // MARK: - Tests
