Skip to content

Commit ffb4671

Browse files
committed
refactor: Modularize strategies test files
- test_abstract_strategy.jl: Wrap in TestStrategiesAbstractStrategy module - test_builders.jl: Wrap in TestStrategiesBuilders module - test_configuration.jl: Wrap in TestStrategiesConfiguration module - test_introspection.jl: Wrap in TestStrategiesIntrospection module - test_metadata.jl: Wrap in TestStrategiesMetadata module - test_registry.jl: Wrap in TestStrategiesRegistry module - test_strategy_options.jl: Wrap in TestStrategiesStrategyOptions module - test_utilities.jl: Wrap in TestStrategiesUtilities module - test_validation.jl: Wrap in TestStrategiesValidation module All files now follow the standard test module pattern with VERBOSE/SHOWTIMING support. 421/423 tests pass (2 intentional error tests for validation).
1 parent bec0aea commit ffb4671

9 files changed

Lines changed: 130 additions & 10 deletions

test/suite/strategies/test_abstract_strategy.jl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
# Tests for abstract strategy contract
1+
module TestStrategiesAbstractStrategy
22

3+
using Test
4+
using CTModels
35
using CTModels.Strategies
46
using CTModels.Options
7+
using CTBase
8+
using Main.TestOptions: VERBOSE, SHOWTIMING
59

610
# ============================================================================
711
# Fake strategy types for testing (must be at module top-level)
@@ -49,6 +53,11 @@ struct UnimplementedStrategy <: CTModels.Strategies.AbstractStrategy end
4953
# Test function
5054
# ============================================================================
5155

56+
"""
57+
test_abstract_strategy()
58+
59+
Tests for abstract strategy contract.
60+
"""
5261
function test_abstract_strategy()
5362
Test.@testset "Abstract Strategy" verbose=VERBOSE showtiming=SHOWTIMING begin
5463

@@ -162,3 +171,7 @@ function test_abstract_strategy()
162171
end
163172
end
164173
end
174+
175+
end # module
176+
177+
test_abstract_strategy() = TestStrategiesAbstractStrategy.test_abstract_strategy()

test/suite/strategies/test_builders.jl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
# Tests for strategy builders
1+
module TestStrategiesBuilders
22

3+
using Test
4+
using CTModels
35
using CTModels.Strategies
46
using CTModels.Options
7+
using CTBase
8+
using Main.TestOptions: VERBOSE, SHOWTIMING
59

610
# ============================================================================
711
# Test strategy types (reuse from test_abstract_strategy.jl)
@@ -120,6 +124,11 @@ end
120124
# Test function
121125
# ============================================================================
122126

127+
"""
128+
test_builders()
129+
130+
Tests for strategy builders.
131+
"""
123132
function test_builders()
124133
Test.@testset "Strategy Builders" verbose=VERBOSE showtiming=SHOWTIMING begin
125134

@@ -286,3 +295,7 @@ function test_builders()
286295
end
287296
end
288297
end
298+
299+
end # module
300+
301+
test_builders() = TestStrategiesBuilders.test_builders()

test/suite/strategies/test_configuration.jl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
# Tests for strategy configuration
1+
module TestStrategiesConfiguration
22

3+
using Test
4+
using CTModels
5+
using CTModels.Strategies
36
using CTModels.Options: OptionDefinition, OptionValue
7+
using Main.TestOptions: VERBOSE, SHOWTIMING
48

59
# ============================================================================
610
# Test strategies with metadata
@@ -64,6 +68,11 @@ CTModels.Strategies.options(s::Union{TestStrategyA, TestStrategyB}) = s.options
6468
# Test function
6569
# ============================================================================
6670

71+
"""
72+
test_configuration()
73+
74+
Tests for strategy configuration.
75+
"""
6776
function test_configuration()
6877
Test.@testset "Strategy Configuration" verbose=VERBOSE showtiming=SHOWTIMING begin
6978

@@ -226,3 +235,7 @@ function test_configuration()
226235
end
227236
end
228237
end
238+
239+
end # module
240+
241+
test_configuration() = TestStrategiesConfiguration.test_configuration()

test/suite/strategies/test_introspection.jl

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
# Tests for strategy introspection utilities
1+
module TestStrategiesIntrospection
22

3+
using Test
4+
using CTModels
35
using CTModels.Strategies
46
using CTModels.Options
7+
using Main.TestOptions: VERBOSE, SHOWTIMING
58

69
# ============================================================================
710
# Fake strategy types for testing (must be at module top-level)
@@ -50,6 +53,11 @@ CTModels.Strategies.metadata(::Type{<:EmptyOptionsStrategy}) = CTModels.Strategi
5053
# Test function
5154
# ============================================================================
5255

56+
"""
57+
test_introspection()
58+
59+
Tests for strategy introspection utilities.
60+
"""
5361
function test_introspection()
5462
Test.@testset "Strategy Introspection" verbose=VERBOSE showtiming=SHOWTIMING begin
5563

@@ -308,3 +316,7 @@ function test_introspection()
308316
end
309317
end
310318
end
319+
320+
end # module
321+
322+
test_introspection() = TestStrategiesIntrospection.test_introspection()

test/suite/strategies/test_metadata.jl

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
1-
# Tests for strategy metadata functionality
1+
module TestStrategiesMetadata
22

3+
using Test
4+
using CTModels
5+
using CTModels.Strategies
6+
using CTModels.Options
7+
using CTBase
8+
using Main.TestOptions: VERBOSE, SHOWTIMING
9+
10+
"""
11+
test_metadata()
12+
13+
Tests for strategy metadata functionality.
14+
"""
315
function test_metadata()
416
Test.@testset "StrategyMetadata" verbose=VERBOSE showtiming=SHOWTIMING begin
517

@@ -229,3 +241,7 @@ function test_metadata()
229241
end
230242
end
231243
end
244+
245+
end # module
246+
247+
test_metadata() = TestStrategiesMetadata.test_metadata()

test/suite/strategies/test_registry.jl

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
# Tests for strategy registry API
1+
module TestStrategiesRegistry
22

3+
using Test
4+
using CTModels
35
using CTModels.Strategies
46
using CTModels.Options
7+
using CTBase
8+
using Main.TestOptions: VERBOSE, SHOWTIMING
59

610
# ============================================================================
711
# Fake strategy types for testing (must be at module top-level)
@@ -44,8 +48,13 @@ CTModels.Strategies.metadata(::Type{<:WrongTypeStrategy}) = CTModels.Strategies.
4448
# Test function
4549
# ============================================================================
4650

51+
"""
52+
test_registry()
53+
54+
Tests for strategy registry API.
55+
"""
4756
function test_registry()
48-
Test.@testset "Strategy Registry API" verbose=VERBOSE showtiming=SHOWTIMING begin
57+
Test.@testset "Strategy Registry" verbose=VERBOSE showtiming=SHOWTIMING begin
4958

5059
# ========================================================================
5160
# UNIT TESTS
@@ -250,3 +259,7 @@ function test_registry()
250259
end
251260
end
252261
end
262+
263+
end # module
264+
265+
test_registry() = TestStrategiesRegistry.test_registry()

test/suite/strategies/test_strategy_options.jl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1-
# Tests for strategy-specific options handling
1+
module TestStrategiesStrategyOptions
22

3+
using Test
4+
using CTModels
35
using CTModels.Strategies
46
using CTModels.Options
7+
using CTBase
8+
using Main.TestOptions: VERBOSE, SHOWTIMING
59

610
# ============================================================================
711
# Test function
812
# ============================================================================
913

14+
"""
15+
test_strategy_options()
16+
17+
Tests for strategy-specific options handling.
18+
"""
1019
function test_strategy_options()
1120
Test.@testset "Strategy Options" verbose=VERBOSE showtiming=SHOWTIMING begin
1221

@@ -239,3 +248,7 @@ function test_strategy_options()
239248
end
240249
end
241250
end
251+
252+
end # module
253+
254+
test_strategy_options() = TestStrategiesStrategyOptions.test_strategy_options()

test/suite/strategies/test_utilities.jl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
# Tests for strategy utilities
1+
module TestStrategiesUtilities
22

3+
using Test
4+
using CTModels
5+
using CTModels.Strategies
36
using CTModels.Options: OptionDefinition
7+
using Main.TestOptions: VERBOSE, SHOWTIMING
48

59
# ============================================================================
610
# Test strategy for suggestions
@@ -43,6 +47,11 @@ CTModels.Strategies.options(s::TestUtilStrategy) = s.options
4347
# Test function
4448
# ============================================================================
4549

50+
"""
51+
test_utilities()
52+
53+
Tests for strategy utilities.
54+
"""
4655
function test_utilities()
4756
Test.@testset "Strategy Utilities" verbose=VERBOSE showtiming=SHOWTIMING begin
4857

@@ -202,3 +211,7 @@ function test_utilities()
202211
end
203212
end
204213
end
214+
215+
end # module
216+
217+
test_utilities() = TestStrategiesUtilities.test_utilities()

test/suite/strategies/test_validation.jl

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
# Tests for strategy validation API
1+
module TestStrategiesValidation
22

3+
using Test
4+
using CTModels
5+
using CTModels.Strategies
36
using CTModels.Options: OptionDefinition
7+
using CTBase
8+
using Main.TestOptions: VERBOSE, SHOWTIMING
49

510
# ============================================================================
611
# Valid test strategies
@@ -327,6 +332,11 @@ CTModels.Strategies.options(s::NoOptionsStrategy) = s.options
327332
# Test function
328333
# ============================================================================
329334

335+
"""
336+
test_validation()
337+
338+
Tests for strategy validation API.
339+
"""
330340
function test_validation()
331341
Test.@testset "Strategy Validation" verbose=VERBOSE showtiming=SHOWTIMING begin
332342

@@ -549,3 +559,7 @@ function test_validation()
549559
end
550560
end
551561
end
562+
563+
end # module
564+
565+
test_validation() = TestStrategiesValidation.test_validation()

0 commit comments

Comments
 (0)