diff options
Diffstat (limited to 'modules/codec/tests/data_raw.cpp')
-rw-r--r-- | modules/codec/tests/data_raw.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/modules/codec/tests/data_raw.cpp b/modules/codec/tests/data_raw.cpp index 99d55a8..11e2c5e 100644 --- a/modules/codec/tests/data_raw.cpp +++ b/modules/codec/tests/data_raw.cpp @@ -4,7 +4,33 @@ namespace { namespace sch { using namespace saw::schema; + +using Int32Array = Array< + Int32 +>; } +SAW_TEST("Data NativeRaw/Array of Primitives"){ + using namespace saw; + + data<sch::Int32Array,encode::NativeRaw> prim{4u}; + prim.at(1u).set(0); + + auto a = prim.at(1u); + + a.set(5); + + auto b = prim.at(1u); + // Check if it's a reference being manipulated + SAW_EXPECT(a.get() == 5, "'a' has unexpected value."); + SAW_EXPECT(b.get() == 5, "'b' has unexpected value."); + + auto c = prim.at(1u); + c.set(10); + + SAW_EXPECT(a.get() == 10, "'a' has unexpected value."); + SAW_EXPECT(b.get() == 10, "'b' has unexpected value."); + SAW_EXPECT(c.get() == 10, "'c' has unexpected value."); +} } |