Skip to content

Commit e0486a1

Browse files
committed
Fixed Unit Tests
- Fixed the Unit Tests for `EventListener` - Removed useless Unit Tests for `UIEventReceiver` (a new Unit Test approach will be required here)
1 parent e80c862 commit e0486a1

File tree

3 files changed

+55
-155
lines changed

3 files changed

+55
-155
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
//
2+
// BasicEventListenerTests.swift
3+
//
4+
//
5+
// Created by Simon Stuart on 12/08/2022.
6+
//
7+
8+
import XCTest
9+
import ThreadSafeSwift
10+
@testable import EventDrivenSwift
11+
12+
final class BasicEventListenerTests: XCTestCase {
13+
struct TestEventTypeOne: Eventable {
14+
var foo: Int
15+
}
16+
17+
var myFoo = 0
18+
var listenerToken: UUID? = nil
19+
let testOne = TestEventTypeOne(foo: 1000) // Create the Event
20+
var awaiter = DispatchSemaphore(value: 0)
21+
22+
func testEventListenerOnListenerThread() throws {
23+
XCTAssertEqual(myFoo, 0, "Expect initial value of eventThread.foo to be 0, but it's \(myFoo)")
24+
25+
listenerToken = TestEventTypeOne.addListener(self, { (event: TestEventTypeOne, priority) in
26+
self.myFoo = event.foo
27+
self.awaiter.signal()
28+
}, executeOn: .listenerThread)
29+
30+
testOne.queue()
31+
32+
let result = awaiter.wait(timeout: DispatchTime.now().advanced(by: DispatchTimeInterval.seconds(10)))
33+
XCTAssertEqual(result, .success, "The Event Handler was not invoked in time!")
34+
XCTAssertEqual(self.myFoo, testOne.foo, "Expect new value of eventThread.foo to be \(testOne.foo), but it's \(self.myFoo)")
35+
36+
TestEventTypeOne.removeListener(listenerToken!)
37+
}
38+
39+
func testEventListenerOnTaskThread() throws {
40+
XCTAssertEqual(myFoo, 0, "Expect initial value of eventThread.foo to be 0, but it's \(myFoo)")
41+
42+
listenerToken = TestEventTypeOne.addListener(self, { (event: TestEventTypeOne, priority) in
43+
self.myFoo = event.foo
44+
self.awaiter.signal()
45+
}, executeOn: .taskThread)
46+
47+
testOne.queue()
48+
49+
let result = awaiter.wait(timeout: DispatchTime.now().advanced(by: DispatchTimeInterval.seconds(10)))
50+
XCTAssertEqual(result, .success, "The Event Handler was not invoked in time!")
51+
XCTAssertEqual(self.myFoo, testOne.foo, "Expect new value of eventThread.foo to be \(testOne.foo), but it's \(self.myFoo)")
52+
53+
TestEventTypeOne.removeListener(listenerToken!)
54+
}
55+
}

Tests/EventDrivenSwiftTests/EventListenerTests.swift

Lines changed: 0 additions & 40 deletions
This file was deleted.

Tests/EventDrivenSwiftTests/UIEventReceiverTests.swift

Lines changed: 0 additions & 115 deletions
This file was deleted.

0 commit comments

Comments
 (0)