@@ -4,6 +4,7 @@ namespace Microsoft.ComponentDetection.Orchestrator.Tests.Experiments;
44using AwesomeAssertions ;
55using Microsoft . ComponentDetection . Detectors . Linux ;
66using Microsoft . ComponentDetection . Detectors . Npm ;
7+ using Microsoft . ComponentDetection . Detectors . NuGet ;
78using Microsoft . ComponentDetection . Detectors . Pip ;
89using Microsoft . ComponentDetection . Orchestrator . Experiments . Configs ;
910using Microsoft . VisualStudio . TestTools . UnitTesting ;
@@ -41,6 +42,27 @@ public void IsInControlGroup_NpmComponentDetectorWithRoots_ReturnsTrue()
4142 this . experiment . IsInControlGroup ( npmDetectorWithRoots ) . Should ( ) . BeTrue ( ) ;
4243 }
4344
45+ [ TestMethod ]
46+ public void IsInControlGroup_NuGetComponentDetector_ReturnsTrue ( )
47+ {
48+ var nuGetDetector = new NuGetComponentDetector ( null , null , null ) ;
49+ this . experiment . IsInControlGroup ( nuGetDetector ) . Should ( ) . BeTrue ( ) ;
50+ }
51+
52+ [ TestMethod ]
53+ public void IsInControlGroup_NuGetProjectModelProjectCentricComponentDetector_ReturnsTrue ( )
54+ {
55+ var nuGetDetector = new NuGetProjectModelProjectCentricComponentDetector ( null , null , null , null ) ;
56+ this . experiment . IsInControlGroup ( nuGetDetector ) . Should ( ) . BeTrue ( ) ;
57+ }
58+
59+ [ TestMethod ]
60+ public void IsInControlGroup_NuGetPackagesConfigDetector_ReturnsTrue ( )
61+ {
62+ var nuGetPackagesConfigDetector = new NuGetPackagesConfigDetector ( null , null , null ) ;
63+ this . experiment . IsInControlGroup ( nuGetPackagesConfigDetector ) . Should ( ) . BeTrue ( ) ;
64+ }
65+
4466 [ TestMethod ]
4567 public void IsInControlGroup_PipReportComponentDetector_ReturnsTrue ( )
4668 {
@@ -118,4 +140,54 @@ public void IsInExperimentGroup_PipReportComponentDetector_ReturnsFalse()
118140
119141 this . experiment . IsInExperimentGroup ( pipDetector ) . Should ( ) . BeFalse ( ) ;
120142 }
143+
144+ [ TestMethod ]
145+ public void IsInExperimentGroup_NuGetComponentDetector_ReturnsFalse ( )
146+ {
147+ var nuGetDetector = new NuGetComponentDetector ( null , null , null ) ;
148+ this . experiment . IsInExperimentGroup ( nuGetDetector ) . Should ( ) . BeFalse ( ) ;
149+ }
150+
151+ [ TestMethod ]
152+ public void IsInExperimentGroup_NuGetProjectModelProjectCentricComponentDetector_ReturnsFalse ( )
153+ {
154+ var nuGetDetector = new NuGetProjectModelProjectCentricComponentDetector ( null , null , null , null ) ;
155+ this . experiment . IsInExperimentGroup ( nuGetDetector ) . Should ( ) . BeFalse ( ) ;
156+ }
157+
158+ [ TestMethod ]
159+ public void ShouldRecord_ExperimentGroup_ReturnsTrue_WhenNumComponentsGreaterThanZero ( )
160+ {
161+ var experimentalDetector = new LinuxApplicationLayerDetector ( null , null , null ) ;
162+ this . experiment . ShouldRecord ( experimentalDetector , 1 ) . Should ( ) . BeTrue ( ) ;
163+ }
164+
165+ [ TestMethod ]
166+ public void ShouldRecord_ExperimentGroup_ReturnsFalse_WhenNumComponentsIsZero ( )
167+ {
168+ var experimentalDetector = new LinuxApplicationLayerDetector ( null , null , null ) ;
169+ this . experiment . ShouldRecord ( experimentalDetector , 0 ) . Should ( ) . BeFalse ( ) ;
170+ }
171+
172+ [ TestMethod ]
173+ public void ShouldRecord_ControlGroup_AlwaysReturnsTrue ( )
174+ {
175+ var linuxDetector = new LinuxContainerDetector ( null , null , null ) ;
176+ this . experiment . ShouldRecord ( linuxDetector , 0 ) . Should ( ) . BeTrue ( ) ;
177+
178+ var npmDetector = new NpmComponentDetector ( null , null , null ) ;
179+ this . experiment . ShouldRecord ( npmDetector , 0 ) . Should ( ) . BeTrue ( ) ;
180+
181+ var pipDetector = new PipReportComponentDetector ( null , null , null , null , null , null , null , null , null ) ;
182+ this . experiment . ShouldRecord ( pipDetector , 0 ) . Should ( ) . BeTrue ( ) ;
183+
184+ var nuGetDetector = new NuGetComponentDetector ( null , null , null ) ;
185+ this . experiment . ShouldRecord ( nuGetDetector , 0 ) . Should ( ) . BeTrue ( ) ;
186+
187+ var nuGetProjectCentricDetector = new NuGetProjectModelProjectCentricComponentDetector ( null , null , null , null ) ;
188+ this . experiment . ShouldRecord ( nuGetProjectCentricDetector , 0 ) . Should ( ) . BeTrue ( ) ;
189+
190+ var nuGetPackagesConfigDetector = new NuGetPackagesConfigDetector ( null , null , null ) ;
191+ this . experiment . ShouldRecord ( nuGetPackagesConfigDetector , 0 ) . Should ( ) . BeTrue ( ) ;
192+ }
121193}
0 commit comments