Skip to content

Commit 9f4a60d

Browse files
added example test cases
1 parent ba1a0b7 commit 9f4a60d

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

xds/src/test/java/io/grpc/xds/WeightedRoundRobinLoadBalancerTest.java

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)