| 1062 | |
| 1063 | |
| 1064 | def test_index_operation(): |
| 1065 | array_var = LiteralArrayVar.create([1, 2, 3, 4, 5]) |
| 1066 | assert str(array_var[0]) == "[1, 2, 3, 4, 5]?.at?.(0)" |
| 1067 | assert str(array_var[1:2]) == "[1, 2, 3, 4, 5].slice(1, 2)" |
| 1068 | assert ( |
| 1069 | str(array_var[1:4:2]) |
| 1070 | == "[1, 2, 3, 4, 5].slice(1, 4).filter((_, i) => i % 2 === 0)" |
| 1071 | ) |
| 1072 | assert ( |
| 1073 | str(array_var[::-1]) |
| 1074 | == "[1, 2, 3, 4, 5].slice(0, [1, 2, 3, 4, 5].length).slice().reverse().slice(undefined, undefined).filter((_, i) => i % 1 === 0)" |
| 1075 | ) |
| 1076 | assert str(array_var.reverse()) == "[1, 2, 3, 4, 5].slice().reverse()" |
| 1077 | assert str(array_var[0].to(NumberVar) + 9) == "([1, 2, 3, 4, 5]?.at?.(0) + 9)" |
| 1078 | |
| 1079 | |
| 1080 | @pytest.mark.parametrize( |