| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- #!/usr/bin/env python3
 - 
 - """
 - Test script to verify the boolean array comparison fix in condition processor.
 - """
 - 
 - import sys
 - import os
 - 
 - # Add the api directory to the Python path
 - sys.path.insert(0, os.path.join(os.path.dirname(__file__), "api"))
 - 
 - from core.workflow.utils.condition.processor import (
 -     _assert_contains,
 -     _assert_not_contains,
 - )
 - 
 - 
 - def test_boolean_array_contains():
 -     """Test that boolean arrays work correctly with string comparisons."""
 - 
 -     # Test case 1: Boolean array [True, False, True] contains "true"
 -     bool_array = [True, False, True]
 - 
 -     # Should return True because "true" converts to True and True is in the array
 -     result1 = _assert_contains(value=bool_array, expected="true")
 -     print(f"Test 1 - [True, False, True] contains 'true': {result1}")
 -     assert result1 == True, "Expected True but got False"
 - 
 -     # Should return True because "false" converts to False and False is in the array
 -     result2 = _assert_contains(value=bool_array, expected="false")
 -     print(f"Test 2 - [True, False, True] contains 'false': {result2}")
 -     assert result2 == True, "Expected True but got False"
 - 
 -     # Test case 2: Boolean array [True, True] does not contain "false"
 -     bool_array2 = [True, True]
 -     result3 = _assert_contains(value=bool_array2, expected="false")
 -     print(f"Test 3 - [True, True] contains 'false': {result3}")
 -     assert result3 == False, "Expected False but got True"
 - 
 -     # Test case 3: Test not_contains
 -     result4 = _assert_not_contains(value=bool_array2, expected="false")
 -     print(f"Test 4 - [True, True] not contains 'false': {result4}")
 -     assert result4 == True, "Expected True but got False"
 - 
 -     result5 = _assert_not_contains(value=bool_array, expected="true")
 -     print(f"Test 5 - [True, False, True] not contains 'true': {result5}")
 -     assert result5 == False, "Expected False but got True"
 - 
 -     # Test case 4: Test with different string representations
 -     result6 = _assert_contains(
 -         value=bool_array, expected="1"
 -     )  # "1" should convert to True
 -     print(f"Test 6 - [True, False, True] contains '1': {result6}")
 -     assert result6 == True, "Expected True but got False"
 - 
 -     result7 = _assert_contains(
 -         value=bool_array, expected="0"
 -     )  # "0" should convert to False
 -     print(f"Test 7 - [True, False, True] contains '0': {result7}")
 -     assert result7 == True, "Expected True but got False"
 - 
 -     print("\n✅ All boolean array comparison tests passed!")
 - 
 - 
 - if __name__ == "__main__":
 -     test_boolean_array_contains()
 
 
  |