def test_abstract_value_make(self): value = AbstractValue.Make("Hello world") self.assertTrue(isinstance(value, Value[str])) value = AbstractValue.Make(MoveOnlyType(10)) self.assertTrue(isinstance(value, Value[MoveOnlyType])) value = AbstractValue.Make({"x": 10}) self.assertTrue(isinstance(value, Value[object]))
def test_abstract_value_make(self): value = AbstractValue.Make("Hello world") self.assertIsInstance(value, Value[str]) value = AbstractValue.Make(MoveOnlyType(10)) self.assertIsInstance(value, Value[MoveOnlyType]) value = AbstractValue.Make({"x": 10}) self.assertIsInstance(value, Value[object]) for T in [float, AutoDiffXd, Expression]: value = AbstractValue.Make(BasicVector_[T](size=1)) self.assertIsInstance(value, Value[BasicVector_[T]])
def test_abstract_value_move_only(self): obj = MoveOnlyType(10) # This *always* clones `obj`. value = Value[MoveOnlyType](obj) self.assertTrue(value.get_value() is not obj) self.assertEquals(value.get_value().x(), 10) # Set value. value.get_mutable_value().set_x(20) self.assertEquals(value.get_value().x(), 20) # Test custom emplace constructor. emplace_value = Value[MoveOnlyType](30) self.assertEquals(emplace_value.get_value().x(), 30) # Test docstring. self.assertTrue("unique_ptr" in value.set_value.__doc__)