diff --git a/cdisc_rules_engine/models/define/value_level_metadata.py b/cdisc_rules_engine/models/define/value_level_metadata.py index 530663147..41bf37936 100644 --- a/cdisc_rules_engine/models/define/value_level_metadata.py +++ b/cdisc_rules_engine/models/define/value_level_metadata.py @@ -69,7 +69,7 @@ def lt(dataframe): def greater_than(self): def gt(dataframe): - return dataframe[self.item.Name] < self._convert_to_datatype( + return dataframe[self.item.Name] > self._convert_to_datatype( self.check_values[0], dataframe[self.item.Name] ) diff --git a/tests/unit/test_value_level_metadata.py b/tests/unit/test_value_level_metadata.py index 7a64a2c59..ba5ed2b81 100644 --- a/tests/unit/test_value_level_metadata.py +++ b/tests/unit/test_value_level_metadata.py @@ -111,3 +111,20 @@ def test_is_not_in(data, check_values, expected_result): ] partial_function = vlm.is_not_in() assert partial_function(df.iloc[0]) == expected_result + + +@pytest.mark.parametrize( + "data, check_value, expected_result", + [ + ({"TEST": [3]}, "2", True), + ({"TEST": [2]}, "2", False), + ({"TEST": [1]}, "2", False), + ], +) +def test_greater_than(data, check_value, expected_result): + df = pandas.DataFrame.from_dict(data) + vlm = ValueLevelMetadata() + vlm.item = Mock(Name="TEST") + vlm.check_values = [CheckValue(_content=check_value)] + partial_function = vlm.greater_than() + assert partial_function(df.iloc[0]) == expected_result