@Test
public void testELValidity_inProctorBuilderAllocationRules() throws IncompatibleTestMatrixException {
//testing invalid allocation rule
final List<TestBucket> buckets = fromCompactBucketFormat("inactive:-1,control:0,test:1");
final ConsumableTestDefinition testDefInVal = constructDefinition(buckets,
fromCompactAllocationFormat("${b4t#+=}|-1:0.5,0:0.5,1:0.0", "-1:0.25,0:0.5,1:0.25")); // invalid EL, nonsense rule
try {
ProctorUtils.verifyInternallyConsistentDefinition("testELevalInval", "test el recognition - inval", testDefInVal);
fail("expected IncompatibleTestMatrixException");
} catch (IncompatibleTestMatrixException e) {
//expected
}
//testing valid functions pass with proctor included functions (will throw exception if can't find) and backwards compatibility
final ConsumableTestDefinition testDefVal1 = constructDefinition(buckets,
fromCompactAllocationFormat("${proctor:now()==indeed:now()}|-1:0.5,0:0.5,1:0.0", "-1:0.25,0:0.5,1:0.25"));
ProctorUtils.verifyInternallyConsistentDefinition("testELevalProctor", "test el recognition", testDefVal1);
}