Skip to content

Commit 7d3fd31

Browse files
committed
use treatment as well
1 parent 1a3cf53 commit 7d3fd31

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

client/src/main/java/io/split/client/impressions/ImpressionHasher.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
public class ImpressionHasher {
77

8-
private static final String HASHABLE_FORMAT = "%s:%s:%s:%d";
8+
private static final String HASHABLE_FORMAT = "%s:%s:%s:%s:%d";
99
private static final String UNKNOWN = "UNKNOWN";
1010

1111
private static String unknownIfNull(String s) {
@@ -23,6 +23,7 @@ public static Long process(KeyImpression impression) {
2323
return MurmurHash3.hash128x64(String.format(HASHABLE_FORMAT,
2424
unknownIfNull(impression.keyName),
2525
unknownIfNull(impression.feature),
26+
unknownIfNull(impression.treatment),
2627
unknownIfNull(impression.label),
2728
zeroIfNull(impression.changeNumber)).getBytes())[0];
2829
}

client/src/test/java/io/split/client/impressions/ImpressionHasherTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public void works() {
1616
imp1.keyName = "someKey";
1717
imp1.changeNumber = 123L;
1818
imp1.label = "someLabel";
19+
imp1.treatment = "someTreatment";
1920

2021
// Different feature
2122
KeyImpression imp2 = new KeyImpression();
@@ -39,6 +40,11 @@ public void works() {
3940
imp2.changeNumber = imp1.changeNumber;
4041
imp2.label = "someOtherLabel";
4142
assertThat(ImpressionHasher.process(imp1), not(equalTo(ImpressionHasher.process(imp2))));
43+
44+
// different treatment
45+
imp2.label = imp1.label;
46+
imp2.treatment = "someOtherTreatment";
47+
assertThat(ImpressionHasher.process(imp1), not(equalTo(ImpressionHasher.process(imp2))));
4248
}
4349

4450
@Test
@@ -59,6 +65,9 @@ public void doesNotCrash() {
5965
imp1.label = null;
6066
assertNotNull(ImpressionHasher.process(imp1));
6167

68+
imp1.treatment = null;
69+
assertNotNull(ImpressionHasher.process(imp1));
70+
6271
assertNull(ImpressionHasher.process(null));
6372
}
6473
}

0 commit comments

Comments
 (0)