//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- TEST(ArrayTest, ExtractElementsFromIndexedArray) { /// source = {2.0, 5.5, 100.0} /// perItemSourceIndices = { 0, 2, 1, 0, 2} /// -> output = {2.0, 100.0, 5.5, 2.0, 100.0} FloatArray source; source.reserve(3); source.add(2.0f); source.add(5.5f); source.add(100.0f); UIntArray indices; indices.reserve(5); indices.add(0); indices.add(2); indices.add(1); indices.add(0); indices.add(2); ref<FloatArray> arr = source.extractElements(indices); ASSERT_EQ(5, arr->size()); EXPECT_FLOAT_EQ( 2.0, arr->get(0)); EXPECT_FLOAT_EQ(100.0, arr->get(1)); EXPECT_FLOAT_EQ( 5.5, arr->get(2)); EXPECT_FLOAT_EQ( 2.0, arr->get(3)); EXPECT_FLOAT_EQ(100.0, arr->get(4)); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- TEST(ArrayTest, ExtractElementsFromIndexedArrayEmpty) { FloatArray source; UIntArray indices; ref<FloatArray> arr = source.extractElements(indices); ASSERT_TRUE(arr.notNull()); EXPECT_EQ(0, arr->size()); }