forked from llnl/zfp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtestArray4RefsBase.cpp
More file actions
61 lines (48 loc) · 1.85 KB
/
testArray4RefsBase.cpp
File metadata and controls
61 lines (48 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
TEST_F(ARRAY_DIMS_SCALAR_TEST_REFS, when_resize_then_sizeChanges)
{
EXPECT_EQ(ARRAY_SIZE_X, arr.size_x());
EXPECT_EQ(ARRAY_SIZE_Y, arr.size_y());
EXPECT_EQ(ARRAY_SIZE_Z, arr.size_z());
EXPECT_EQ(ARRAY_SIZE_W, arr.size_w());
EXPECT_EQ(ARRAY_SIZE_X * ARRAY_SIZE_Y * ARRAY_SIZE_Z * ARRAY_SIZE_W, arr.size());
size_t newLenX = ARRAY_SIZE_X + 1;
size_t newLenY = ARRAY_SIZE_Y - 2;
size_t newLenZ = ARRAY_SIZE_Z + 5;
size_t newLenW = ARRAY_SIZE_W - 3;
arr.resize(newLenX, newLenY, newLenZ, newLenW);
EXPECT_EQ(newLenX, arr.size_x());
EXPECT_EQ(newLenY, arr.size_y());
EXPECT_EQ(newLenZ, arr.size_z());
EXPECT_EQ(newLenW, arr.size_w());
EXPECT_EQ(newLenX * newLenY * newLenZ * newLenW, arr.size());
}
TEST_F(ARRAY_DIMS_SCALAR_TEST_REFS, when_getIndexWithParentheses_then_refReturned)
{
size_t i = 1, j = 1, k = 1, l = 1;
arr(i, j, k, l) = VAL;
EXPECT_EQ(VAL, arr(i, j, k, l));
}
TEST_F(ARRAY_DIMS_SCALAR_TEST_REFS, when_indexWithBracketsAlongsideParentheses_then_indexedProperly)
{
size_t i = 1, j = 1, k = 1, l = 1;
size_t absIndex = l * arr.size_x() * arr.size_y() * arr.size_z() + k * arr.size_x() * arr.size_y() + j * arr.size_x() + i;
arr[absIndex] = VAL;
EXPECT_EQ(VAL, arr(i, j, k, l));
arr(i, j, k, l) /= VAL;
EXPECT_EQ(1, arr[absIndex]);
}
TEST_F(ARRAY_DIMS_SCALAR_TEST_REFS, given_constCompressedArray_when_getIndexWithBrackets_then_valReturned)
{
size_t i = 1;
arr[i] = VAL;
const array4<SCALAR> arrConst = arr;
EXPECT_EQ(VAL, arrConst[i]);
}
TEST_F(ARRAY_DIMS_SCALAR_TEST_REFS, given_constCompressedArray_when_getIndexWithParentheses_then_valReturned)
{
size_t i = 1, j = 1, k = 1, l = 1;
size_t absIndex = l * arr.size_x() * arr.size_y() * arr.size_z() + k * arr.size_x() * arr.size_y() + j * arr.size_x() + i;
arr[absIndex] = VAL;
const array4<SCALAR> arrConst = arr;
EXPECT_EQ(VAL, arrConst(i, j, k, l));
}