1// Copyright © SixtyFPS GmbH <info@slint.dev>
2// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
3
4TestCase := Rectangle {
5 property<bool> condition;
6 property<int> test_value: condition ? 1 : 2;
7 property<bool> condition2;
8 property<int> test_value2: condition ? condition2 ? 1 : 2 : condition2 ? 3 : 4;
9
10 property<length> test_value3: false ? 0 : 12phx;
11}
12/*
13```cpp
14auto handle = TestCase::create();
15const TestCase &instance = *handle;
16instance.set_condition(true);
17assert_eq(instance.get_test_value(), 1);
18assert_eq(instance.get_test_value2(), 2);
19instance.set_condition(false);
20assert_eq(instance.get_test_value(), 2);
21assert_eq(instance.get_test_value2(), 4);
22instance.set_condition2(true);
23assert_eq(instance.get_test_value2(), 3);
24assert_eq(instance.get_test_value3(), 12.);
25```
26
27
28```rust
29let instance = TestCase::new().unwrap();
30instance.set_condition(true);
31assert_eq!(instance.get_test_value(), 1);
32assert_eq!(instance.get_test_value2(), 2);
33instance.set_condition(false);
34assert_eq!(instance.get_test_value(), 2);
35assert_eq!(instance.get_test_value2(), 4);
36instance.set_condition2(true);
37assert_eq!(instance.get_test_value2(), 3);
38assert_eq!(instance.get_test_value3(), 12.);
39```
40
41```js
42var instance = new slint.TestCase({});
43instance.condition = true;
44assert.equal(instance.test_value, 1);
45assert.equal(instance.test_value2, 2);
46instance.condition = false;
47assert.equal(instance.test_value, 2);
48assert.equal(instance.test_value2, 4);
49instance.condition2 = true;
50assert.equal(instance.test_value2, 3);
51assert.equal(instance.test_value3, 12);
52```
53*/
54