diff options
Diffstat (limited to 'modules/remote-filesystem/tests')
-rw-r--r-- | modules/remote-filesystem/tests/transport.cpp | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/modules/remote-filesystem/tests/transport.cpp b/modules/remote-filesystem/tests/transport.cpp index e8df294..7472220 100644 --- a/modules/remote-filesystem/tests/transport.cpp +++ b/modules/remote-filesystem/tests/transport.cpp @@ -26,7 +26,37 @@ SAW_TEST("File Remote"){ SAW_EOV_EXPECT(eo_dat_srv, "Couldn't setup data server."); auto& dat_srv = eo_dat_srv.get_value(); - + std::string a = "blafoobla"; + int64_t b = 42; + + { + data<sch::Foo> nat_foo; + nat_foo.template get<"a">().set(a); + nat_foo.template get<"b">().set(b); + + data<sch::Foo, encode::KelSimple> smp_foo; + + codec<sch::Foo, encode::KelSimple> smp_cod; + auto eov = smp_cod.encode(nat_foo,smp_foo); + SAW_EOV_EXPECT(eov, "Failed to encode."); + + id<sch::Foo> foo_id{0u}; + auto eo_send = dat_srv->send(smp_foo, foo_id); + SAW_EOV_EXPECT(eo_send, "Failed to send."); + } + { + data<sch::Foo> nat_foo; + + id<sch::Foo> foo_id{0u}; + auto eo_recv = dat_srv->receive(foo_id); + SAW_EOV_EXPECT(eo_recv, "Failed to receive"); + auto& recv = eo_recv.get_value(); + + codec<sch::Foo, encode::KelSimple> smp_cod; + auto eov = smp_cod.decode(recv, nat_foo); + SAW_EOV_EXPECT(eov, "Failed to decode."); + + SAW_EXPECT(nat_foo.template get<"b">().get() == b, "Wrong value."); + } } - } |