/* LICENSE BEGIN This file is part of the SixtyFPS Project -- https://sixtyfps.io Copyright (c) 2021 Olivier Goffart Copyright (c) 2021 Simon Hausmann 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 */ export TestCase := Rectangle { property<[int]> ints: [1, 2, 3, 4, 5]; property num_ints: ints.length; } /* ```cpp auto handle = TestCase::create(); const TestCase &instance = *handle; assert_eq(instance.get_num_ints(), 5); auto model = std::make_shared>(std::vector{1, 2, 3, 4, 5, 6, 7}); instance.set_ints(model); assert_eq(instance.get_num_ints(), 7); model->push_back(8); assert_eq(instance.get_num_ints(), 8); ``` ```rust let instance = TestCase::new(); assert_eq!(instance.get_num_ints(), 5); let model: std::rc::Rc> = std::rc::Rc::new(vec![1, 2, 3, 4, 5, 6, 7].into()); instance.set_ints(sixtyfps::ModelHandle::new(model.clone())); assert_eq!(instance.get_num_ints(), 7); model.push(8); assert_eq!(instance.get_num_ints(), 8); ``` ```js var instance = new sixtyfps.TestCase(); assert.equal(instance.num_ints, 5); let model = new sixtyfpslib.ArrayModel([1, 2, 3, 4, 5, 6, 7]); instance.ints = model; assert.equal(instance.num_ints, 7); model.push(8); assert.equal(instance.num_ints, 8); ``` */