@@ -883,7 +883,7 @@ public void testPicksEqualsWeights() {
883883 }
884884
885885 @ Test
886- public void testContainsZeroWeight () {
886+ public void testContainsZeroWeightUseMean () {
887887 float [] weights = {3.0f , 0.0f , 1.0f };
888888 StaticStrideScheduler sss = new StaticStrideScheduler (weights );
889889 int [] expectedPicks = new int [] {3 , 2 , 1 };
@@ -894,6 +894,47 @@ public void testContainsZeroWeight() {
894894 assertThat (picks ).isEqualTo (expectedPicks );
895895 }
896896
897+ @ Test
898+ public void testLargestPickedEveryGeneration () {
899+ float [] weights = {1.0f , 2.0f , 3.0f };
900+ int mean = 2 ;
901+ StaticStrideScheduler sss = new StaticStrideScheduler (weights );
902+ int largestWeightPickCount = 0 ;
903+ int kMaxWeight = 65535 ;
904+ for (int i = 0 ; i < mean * kMaxWeight ; i ++) {
905+ if (sss .pickChannel () == mean ) {
906+ largestWeightPickCount += 1 ;
907+ }
908+ }
909+ assertThat (largestWeightPickCount ).isEqualTo (kMaxWeight );
910+ }
911+
912+ @ Test
913+ public void testStaticStrideSchedulerGivenExample () {
914+ float [] weights = {10.0f , 20.0f , 30.0f };
915+ StaticStrideScheduler sss = new StaticStrideScheduler (weights );
916+ assertThat (sss .pickChannel ()).isEqualTo (2 );
917+ assertThat (sss .pickChannel ()).isEqualTo (1 );
918+ assertThat (sss .pickChannel ()).isEqualTo (2 );
919+ assertThat (sss .pickChannel ()).isEqualTo (0 );
920+ assertThat (sss .pickChannel ()).isEqualTo (1 );
921+ assertThat (sss .pickChannel ()).isEqualTo (2 );
922+ }
923+
924+ @ Test
925+ public void testStaticStrideSchedulerGivenExample2 () {
926+ float [] weights = {2.0f , 3.0f , 6.0f };
927+ StaticStrideScheduler sss = new StaticStrideScheduler (weights );
928+ assertThat (sss .pickChannel ()).isEqualTo (2 );
929+ assertThat (sss .pickChannel ()).isEqualTo (1 );
930+ assertThat (sss .pickChannel ()).isEqualTo (2 );
931+ assertThat (sss .pickChannel ()).isEqualTo (0 );
932+ assertThat (sss .pickChannel ()).isEqualTo (2 );
933+ assertThat (sss .pickChannel ()).isEqualTo (1 );
934+ assertThat (sss .pickChannel ()).isEqualTo (2 );
935+ assertThat (sss .pickChannel ()).isEqualTo (2 );
936+ }
937+
897938 private static class FakeSocketAddress extends SocketAddress {
898939 final String name ;
899940
0 commit comments