@@ -66,32 +66,39 @@ public void testPValueScore_WhenAllDocsContainTerm() {
66
66
assertThat (pValueScore .getScore (subsetCount , subsetCount , supersetCount , supersetCount ), equalTo (0.0 ));
67
67
}
68
68
69
- @ AwaitsFix (bugUrl = "https://github.com/elastic/elasticsearch/issues/75601" )
70
69
public void testHighPValueScore () {
71
70
boolean backgroundIsSuperset = randomBoolean ();
71
+ // supersetFreqCount needs to at less than 20% ratio
72
72
long supersetCount = randomLongBetween (0L , Long .MAX_VALUE /2 );
73
- long subsetCount = randomLongBetween (0L , supersetCount );
73
+ long supersetFreqCount = randomLongBetween (0L , (long )(supersetCount /5.0 ));
74
+ // subsetFreqCount needs to be at least 25% ratio
75
+ long subsetCount = randomLongBetween ((long )(supersetCount /4.0 ), supersetCount );
76
+ long subsetFreqCount = randomLongBetween ((long )(subsetCount /4.0 ), subsetCount );
74
77
if (backgroundIsSuperset ) {
75
78
supersetCount += subsetCount ;
79
+ supersetFreqCount += subsetFreqCount ;
76
80
}
77
81
78
82
PValueScore pValueScore = new PValueScore (backgroundIsSuperset );
79
- assertThat (pValueScore .getScore (subsetCount , subsetCount , subsetCount , supersetCount ), greaterThanOrEqualTo (700.0 ));
83
+ assertThat (pValueScore .getScore (subsetFreqCount , subsetCount , supersetFreqCount , supersetCount ), greaterThanOrEqualTo (700.0 ));
80
84
}
81
85
82
- @ AwaitsFix (bugUrl = "https://github.com/elastic/elasticsearch/issues/75601" )
83
86
public void testLowPValueScore () {
84
87
boolean backgroundIsSuperset = randomBoolean ();
88
+ // supersetFreqCount needs to at least be 20% ratio
85
89
long supersetCount = randomLongBetween (0L , Long .MAX_VALUE /2 );
86
- long subsetCount = randomLongBetween (0L , supersetCount );
87
- long subsetFreqCount = randomLongBetween (0L , subsetCount /5 );
90
+ long supersetFreqCount = randomLongBetween ((long )(supersetCount /5.0 ), supersetCount );
91
+ // subsetFreqCount needs to be less than 16% ratio
92
+ long subsetCount = randomLongBetween ((long )(supersetCount /5.0 ), supersetCount );
93
+ long subsetFreqCount = randomLongBetween (0L , (long )(subsetCount /6.0 ));
88
94
if (backgroundIsSuperset ) {
89
95
supersetCount += subsetCount ;
96
+ supersetFreqCount += subsetFreqCount ;
90
97
}
91
98
92
99
PValueScore pValueScore = new PValueScore (backgroundIsSuperset );
93
100
assertThat (
94
- pValueScore .getScore (subsetFreqCount , subsetCount , subsetCount , supersetCount ),
101
+ pValueScore .getScore (subsetFreqCount , subsetCount , supersetFreqCount , supersetCount ),
95
102
allOf (lessThanOrEqualTo (5.0 ), greaterThanOrEqualTo (0.0 ))
96
103
);
97
104
}
0 commit comments