MCPcopy Index your code
hub / github.com/reflex-dev/reflex / test_basic_operations

Function test_basic_operations

tests/units/test_var.py:300–368  ·  view source on GitHub ↗

Test the var operations. Args: TestObj: The test object.

(TestObj)

Source from the content-addressed store, hash-verified

298
299
300def test_basic_operations(TestObj):
301 """Test the var operations.
302
303 Args:
304 TestObj: The test object.
305 """
306 assert str(v(1) == v(2)) == "(1?.valueOf?.() === 2?.valueOf?.())"
307 assert str(v(1) != v(2)) == "(1?.valueOf?.() !== 2?.valueOf?.())"
308 assert str(LiteralNumberVar.create(1) < 2) == "(1 < 2)"
309 assert str(LiteralNumberVar.create(1) <= 2) == "(1 <= 2)"
310 assert str(LiteralNumberVar.create(1) > 2) == "(1 > 2)"
311 assert str(LiteralNumberVar.create(1) >= 2) == "(1 >= 2)"
312 assert str(LiteralNumberVar.create(1) + 2) == "(1 + 2)"
313 assert str(LiteralNumberVar.create(1) - 2) == "(1 - 2)"
314 assert str(LiteralNumberVar.create(1) * 2) == "(1 * 2)"
315 assert str(LiteralNumberVar.create(1) / 2) == "(1 / 2)"
316 assert str(LiteralNumberVar.create(1) // 2) == "Math.floor(1 / 2)"
317 assert str(LiteralNumberVar.create(1) % 2) == "(1 % 2)"
318 assert str(LiteralNumberVar.create(1) ** 2) == "(1 ** 2)"
319 assert str(LiteralNumberVar.create(1) & v(2)) == "pyAnd(1, () => (2))"
320 assert str(LiteralNumberVar.create(1) | v(2)) == "pyOr(1, () => (2))"
321 assert str(LiteralArrayVar.create([1, 2, 3])[0]) == "[1, 2, 3]?.at?.(0)"
322 assert (
323 str(LiteralObjectVar.create({"a": 1, "b": 2})["a"])
324 == '({ ["a"] : 1, ["b"] : 2 })?.["a"]'
325 )
326 assert str(v("foo") == v("bar")) == '("foo"?.valueOf?.() === "bar"?.valueOf?.())'
327 assert (
328 str(Var(_js_expr="foo") == Var(_js_expr="bar"))
329 == "(foo?.valueOf?.() === bar?.valueOf?.())"
330 )
331 assert (
332 str(LiteralVar.create("foo") == LiteralVar.create("bar"))
333 == '("foo"?.valueOf?.() === "bar"?.valueOf?.())'
334 )
335 print(Var(_js_expr="foo").to(ObjectVar, TestObj)._var_set_state("state"))
336 assert (
337 str(
338 Var(_js_expr="foo").to(ObjectVar, TestObj)._var_set_state("state").bar
339 == LiteralVar.create("bar")
340 )
341 == '(state.foo?.["bar"]?.valueOf?.() === "bar"?.valueOf?.())'
342 )
343 assert (
344 str(Var(_js_expr="foo").to(ObjectVar, TestObj)._var_set_state("state").bar)
345 == 'state.foo?.["bar"]'
346 )
347 assert str(abs(LiteralNumberVar.create(1))) == "Math.abs(1)"
348 assert str(LiteralArrayVar.create([1, 2, 3]).length()) == "[1, 2, 3].length"
349 assert (
350 str(LiteralArrayVar.create([1, 2]) + LiteralArrayVar.create([3, 4]))
351 == "[...[1, 2], ...[3, 4]]"
352 )
353
354 # Tests for reverse operation
355 assert (
356 str(LiteralArrayVar.create([1, 2, 3]).reverse())
357 == "[1, 2, 3].slice().reverse()"

Callers

nothing calls this directly

Calls 9

VarClass · 0.90
vFunction · 0.85
_var_set_stateMethod · 0.80
toMethod · 0.80
reverseMethod · 0.80
js_typeMethod · 0.80
printFunction · 0.50
createMethod · 0.45
lengthMethod · 0.45

Tested by

no test coverage detected