Skip to content

Commit

Permalink
fixup! fixup! add copy assignment array = const_array_view
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcelKoch committed Dec 6, 2023
1 parent 93777dc commit 81d2064
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions core/test/base/array.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,43 @@ TYPED_TEST(Array, CopyArrayToView)
}


TYPED_TEST(Array, CopyConstViewToArray)
{
TypeParam data[] = {1, 2, 3, 4};
auto const_view = gko::make_const_array_view(this->exec, 4, data);
gko::array<TypeParam> array(this->exec, {5, 4, 2});

array = const_view;

EXPECT_EQ(array.get_data()[0], TypeParam{1});
EXPECT_EQ(array.get_data()[1], TypeParam{2});
EXPECT_EQ(array.get_data()[2], TypeParam{3});
EXPECT_EQ(array.get_data()[3], TypeParam{4});
EXPECT_EQ(array.get_size(), 4);
ASSERT_EQ(const_view.get_size(), 4);
}


TYPED_TEST(Array, CopyConstViewToView)
{
TypeParam data1[] = {1, 2, 3, 4};
TypeParam data2[] = {5, 4, 2};
auto view = gko::make_array_view(this->exec, 3, data2);
auto const_view2 = gko::make_const_array_view(this->exec, 2, data1);
auto const_view3 = gko::make_const_array_view(this->exec, 3, data1);
auto const_view4 = gko::make_const_array_view(this->exec, 4, data1);

view = const_view3;

EXPECT_EQ(view.get_data()[0], TypeParam{1});
EXPECT_EQ(view.get_data()[1], TypeParam{2});
EXPECT_EQ(view.get_data()[2], TypeParam{3});
EXPECT_EQ(view.get_size(), 3);
EXPECT_EQ(const_view3.get_size(), 3);
ASSERT_THROW(view = const_view2, gko::ValueMismatch);
ASSERT_THROW(view = const_view4, gko::ValueMismatch);
}

TYPED_TEST(Array, MoveArrayToArray)
{
gko::array<TypeParam> array(this->exec, {1, 2, 3});
Expand Down

0 comments on commit 81d2064

Please sign in to comment.