@@ -2,11 +2,59 @@ import XCTest
22@testable import FDWaveformView
33
44final class FDWaveformViewTests : XCTestCase {
5- func testExample( ) throws {
6- // XCTest Documentation
7- // https://developer.apple.com/documentation/xctest
8-
9- // Defining Test Cases and Test Methods
10- // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods
5+
6+ func testFDWaveformViewInitialization( ) throws {
7+ // Test that FDWaveformView can be initialized
8+ let waveformView = FDWaveformView ( )
9+ XCTAssertNotNil ( waveformView)
10+ XCTAssertEqual ( waveformView. totalSamples, 0 )
11+ XCTAssertNil ( waveformView. audioURL)
12+ XCTAssertNil ( waveformView. highlightedSamples)
13+ XCTAssertEqual ( waveformView. zoomSamples, 0 ..< 0 )
14+ }
15+
16+ func testFDWaveformViewProperties( ) throws {
17+ // Test that properties can be set and retrieved
18+ let waveformView = FDWaveformView ( )
19+
20+ // Test boolean properties
21+ waveformView. doesAllowScrubbing = false
22+ XCTAssertFalse ( waveformView. doesAllowScrubbing)
23+
24+ waveformView. doesAllowStretch = false
25+ XCTAssertFalse ( waveformView. doesAllowStretch)
26+
27+ waveformView. doesAllowScroll = false
28+ XCTAssertFalse ( waveformView. doesAllowScroll)
29+
30+ // Test color properties
31+ waveformView. wavesColor = . red
32+ XCTAssertEqual ( waveformView. wavesColor, . red)
33+
34+ waveformView. progressColor = . green
35+ XCTAssertEqual ( waveformView. progressColor, . green)
36+ }
37+
38+ func testFDWaveformTypeEquality( ) throws {
39+ // Test FDWaveformType enum equality
40+ let linear1 = FDWaveformType . linear
41+ let linear2 = FDWaveformType . linear
42+ let logarithmic1 = FDWaveformType . logarithmic ( noiseFloor: - 50.0 )
43+ let logarithmic2 = FDWaveformType . logarithmic ( noiseFloor: - 50.0 )
44+ let logarithmic3 = FDWaveformType . logarithmic ( noiseFloor: - 60.0 )
45+
46+ XCTAssertEqual ( linear1, linear2)
47+ XCTAssertEqual ( logarithmic1, logarithmic2)
48+ XCTAssertNotEqual ( linear1, logarithmic1)
49+ XCTAssertNotEqual ( logarithmic1, logarithmic3)
50+ }
51+
52+ func testFDWaveformTypeFloorValue( ) throws {
53+ // Test floor value property
54+ let linear = FDWaveformType . linear
55+ let logarithmic = FDWaveformType . logarithmic ( noiseFloor: - 45.0 )
56+
57+ XCTAssertEqual ( linear. floorValue, 0 )
58+ XCTAssertEqual ( logarithmic. floorValue, - 45.0 )
1159 }
1260}
0 commit comments