def test_anded_expression(): se = SearchExpression(metric=MetricSearchExpression( key="accuracy", double=DoubleClause(comparator=">=", value=.94))) sf = SearchFilter(anded_expressions=[se]) assert sf._parse() == [{ "type": "metric", "key": "accuracy", "comparator": ">=", "value": 0.94 }]
def test_anded_expression_2(): m1 = MetricSearchExpression(key="accuracy", double=DoubleClause(comparator=">=", value=.94)) m2 = MetricSearchExpression(key="error", double=DoubleClause(comparator="<", value=.01)) m3 = MetricSearchExpression(key="mse", float=FloatClause(comparator=">=", value=5)) p1 = ParameterSearchExpression(key="a", string=StringClause(comparator="=", value="0")) p2 = ParameterSearchExpression(key="b", string=StringClause(comparator="!=", value="blah")) sf = SearchFilter( SearchRuns(anded_expressions=[ SearchExpression(metric=m1), SearchExpression(metric=m2), SearchExpression(metric=m3), SearchExpression(parameter=p1), SearchExpression(parameter=p2) ])) assert sf._parse() == [{ 'comparator': '>=', 'key': 'accuracy', 'type': 'metric', 'value': 0.94 }, { 'comparator': '<', 'key': 'error', 'type': 'metric', 'value': 0.01 }, { 'comparator': '>=', 'key': 'mse', 'type': 'metric', 'value': 5 }, { 'comparator': '=', 'key': 'a', 'type': 'parameter', 'value': '0' }, { 'comparator': '!=', 'key': 'b', 'type': 'parameter', 'value': 'blah' }]