@@ -12,21 +12,54 @@ namespace Microsoft.ML.Sweeper.Tests
1212 public class SweeperTest
1313 {
1414 [ Fact ]
15- public void SweeperReturnsDistinctValues ( )
15+ public void UniformRandomSweeperReturnsDistinctValuesWhenProposeSweep ( )
1616 {
17- var args = new DiscreteParamArguments ( ) ;
18- args . Name = "Amazing" ;
19- args . Values = new string [ ] { "one" } ;
20- var valueGenerator = new DiscreteValueGenerator ( args ) ;
17+ DiscreteValueGenerator valueGenerator = CreateDiscreteValueGenerator ( ) ;
18+
2119 using ( var writer = new StreamWriter ( new MemoryStream ( ) ) )
2220 using ( var env = new TlcEnvironment ( 42 , outWriter : writer , errWriter : writer ) )
2321 {
24- var sweeper = new UniformRandomSweeper ( env , new SweeperBase . ArgumentsBase ( ) , new [ ] { valueGenerator } ) ;
25- var results = sweeper . ProposeSweeps ( 2 ) ;
22+ var sweeper = new UniformRandomSweeper ( env ,
23+ new SweeperBase . ArgumentsBase ( ) ,
24+ new [ ] { valueGenerator } ) ;
25+
26+ var results = sweeper . ProposeSweeps ( 5000 ) ;
2627 Assert . NotNull ( results ) ;
28+
2729 int length = results . Length ;
28- Assert . Equal ( 1 , length ) ;
30+ Assert . Equal ( 2 , length ) ;
2931 }
3032 }
33+
34+ [ Fact ]
35+ public void RandomGridSweeperReturnsDistinctValuesWhenProposeSweep ( )
36+ {
37+ DiscreteValueGenerator valueGenerator = CreateDiscreteValueGenerator ( ) ;
38+
39+ using ( var writer = new StreamWriter ( new MemoryStream ( ) ) )
40+ using ( var env = new TlcEnvironment ( 42 , outWriter : writer , errWriter : writer ) )
41+ {
42+ var sweeper = new RandomGridSweeper ( env ,
43+ new RandomGridSweeper . Arguments ( ) ,
44+ new [ ] { valueGenerator } ) ;
45+
46+ var results = sweeper . ProposeSweeps ( 5000 ) ;
47+ Assert . NotNull ( results ) ;
48+
49+ int length = results . Length ;
50+ Assert . Equal ( 2 , length ) ;
51+ }
52+ }
53+
54+ private static DiscreteValueGenerator CreateDiscreteValueGenerator ( )
55+ {
56+ var args = new DiscreteParamArguments ( )
57+ {
58+ Name = "TestParam" ,
59+ Values = new string [ ] { "one" , "two" }
60+ } ;
61+
62+ return new DiscreteValueGenerator ( args ) ;
63+ }
3164 }
3265}
0 commit comments