[ruby] add tests for shared_ptr of const Type.
This commit is contained in:
parent
f96c2ad73d
commit
b91e03d39a
2 changed files with 20 additions and 8 deletions
|
|
@ -13,15 +13,23 @@ public:
|
||||||
int m;
|
int m;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<std::shared_ptr<Foo> > foo_vec() {
|
std::shared_ptr<Foo> foo(Foo v) {
|
||||||
|
return std::shared_ptr<Foo>(new Foo(v));
|
||||||
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<const Foo> const_foo(Foo v) {
|
||||||
|
return std::shared_ptr<const Foo>(new Foo(v));
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::shared_ptr<Foo> > foo_vec(Foo v) {
|
||||||
std::vector<std::shared_ptr<Foo> > result;
|
std::vector<std::shared_ptr<Foo> > result;
|
||||||
result.push_back( std::shared_ptr<Foo>(new Foo(7)) );
|
result.push_back( std::shared_ptr<Foo>(new Foo(v)) );
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::shared_ptr<const Foo> > const_foo_vec() {
|
std::vector<std::shared_ptr<const Foo> > const_foo_vec(Foo v) {
|
||||||
std::vector<std::shared_ptr<const Foo> > result;
|
std::vector<std::shared_ptr<const Foo> > result;
|
||||||
result.push_back( std::shared_ptr<Foo>(new Foo(7)) );
|
result.push_back( std::shared_ptr<Foo>(new Foo(v)) );
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -35,8 +43,10 @@ std::vector<std::shared_ptr<const Foo> > const_foo_vec() {
|
||||||
%template (FooVector) std::vector<std::shared_ptr<Foo> >;
|
%template (FooVector) std::vector<std::shared_ptr<Foo> >;
|
||||||
%template (FooConstVector) std::vector<std::shared_ptr<Foo const> >;
|
%template (FooConstVector) std::vector<std::shared_ptr<Foo const> >;
|
||||||
|
|
||||||
std::vector<std::shared_ptr<Foo> > foo_vec() const;
|
std::shared_ptr<Foo> foo(Foo v);
|
||||||
std::vector<std::shared_ptr<const Foo> > const_foo_vec() const;
|
std::shared_ptr<const Foo> const_foo(Foo v);
|
||||||
|
std::vector<std::shared_ptr<Foo> > foo_vec(Foo v) const;
|
||||||
|
std::vector<std::shared_ptr<const Foo> > const_foo_vec(Foo v) const;
|
||||||
|
|
||||||
class Foo
|
class Foo
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,7 @@ require "cpp11_shared_ptr_const"
|
||||||
|
|
||||||
include Cpp11_shared_ptr_const
|
include Cpp11_shared_ptr_const
|
||||||
|
|
||||||
simple_assert_equal(7, foo_vec()[0].get_m )
|
simple_assert_equal(1, foo( Foo.new(1) ).get_m )
|
||||||
simple_assert_equal(7, const_foo_vec()[0].get_m )
|
simple_assert_equal(7, const_foo( Foo.new(7) ).get_m )
|
||||||
|
simple_assert_equal(7, foo_vec( Foo.new(7) )[0].get_m )
|
||||||
|
simple_assert_equal(8, const_foo_vec( Foo.new(8) )[0].get_m )
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue