slint/tests/cases/expr/comparison.60
2021-07-02 15:55:54 +02:00

157 lines
4.5 KiB
Text

/* LICENSE BEGIN
This file is part of the SixtyFPS Project -- https://sixtyfps.io
Copyright (c) 2021 Olivier Goffart <olivier.goffart@sixtyfps.io>
Copyright (c) 2021 Simon Hausmann <simon.hausmann@sixtyfps.io>
SPDX-License-Identifier: GPL-3.0-only
This file is also available under commercial licensing terms.
Please contact info@sixtyfps.io for more information.
LICENSE END */
TestCase := Rectangle {
property<int> hello: 44;
property<bool> t1: hello == 44 || hello == 45;
property<bool> t2: hello > 44 && hello < 46;
property<bool> t3: hello >= 44 && hello <= 46;
property<bool> t4: t1 || (t2 && t3);
property<bool> t5: t2 || hello + 3 != 4*10+4;
property<bool> t6: !t1 || 1 == 0;
property<string> my_str: "hello";
property<bool> t7: my_str == "hello";
}
/*
```cpp
auto handle = TestCase::create();
const TestCase &instance = *handle;
assert_eq(instance.get_t1(), true);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), true);
assert_eq(instance.get_t4(), true);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), false);
assert_eq(instance.get_t7(), true);
instance.set_hello(45);
assert_eq(instance.get_t1(), true);
assert_eq(instance.get_t2(), true);
assert_eq(instance.get_t3(), true);
assert_eq(instance.get_t4(), true);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), false);
instance.set_hello(46);
assert_eq(instance.get_t1(), false);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), true);
assert_eq(instance.get_t4(), false);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), true);
instance.set_hello(47);
assert_eq(instance.get_t1(), false);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), false);
assert_eq(instance.get_t4(), false);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), true);
instance.set_hello(41);
assert_eq(instance.get_t1(), false);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), false);
assert_eq(instance.get_t4(), false);
assert_eq(instance.get_t5(), false);
assert_eq(instance.get_t6(), true);
```
```rust
let instance = TestCase::new();
assert_eq!(instance.get_t1(), true);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), true);
assert_eq!(instance.get_t4(), true);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), false);
assert_eq!(instance.get_t7(), true);
instance.set_hello(45);
assert_eq!(instance.get_t1(), true);
assert_eq!(instance.get_t2(), true);
assert_eq!(instance.get_t3(), true);
assert_eq!(instance.get_t4(), true);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), false);
instance.set_hello(46);
assert_eq!(instance.get_t1(), false);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), true);
assert_eq!(instance.get_t4(), false);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), true);
instance.set_hello(47);
assert_eq!(instance.get_t1(), false);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), false);
assert_eq!(instance.get_t4(), false);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), true);
instance.set_hello(41);
assert_eq!(instance.get_t1(), false);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), false);
assert_eq!(instance.get_t4(), false);
assert_eq!(instance.get_t5(), false);
assert_eq!(instance.get_t6(), true);
```
```js
var instance = new sixtyfps.TestCase({});
assert.equal(instance.t1, true);
assert.equal(instance.t2, false);
assert.equal(instance.t3, true);
assert.equal(instance.t4, true);
assert.equal(instance.t5, true);
assert.equal(instance.t6, false);
assert.equal(instance.t7, true);
instance.hello = 45;
assert.equal(instance.t1, true);
assert.equal(instance.t2, true);
assert.equal(instance.t3, true);
assert.equal(instance.t4, true);
assert.equal(instance.t5, true);
assert.equal(instance.t6, false);
instance.hello = 46;
assert.equal(instance.t1, false);
assert.equal(instance.t2, false);
assert.equal(instance.t3, true);
assert.equal(instance.t4, false);
assert.equal(instance.t5, true);
assert.equal(instance.t6, true);
instance.hello = 47;
assert.equal(instance.t1, false);
assert.equal(instance.t2, false);
assert.equal(instance.t3, false);
assert.equal(instance.t4, false);
assert.equal(instance.t5, true);
assert.equal(instance.t6, true);
instance.hello = 41;
assert.equal(instance.t1, false);
assert.equal(instance.t2, false);
assert.equal(instance.t3, false);
assert.equal(instance.t4, false);
assert.equal(instance.t5, false);
assert.equal(instance.t6, true);
```
*/