1
+ #include " filesystem_fixture.hpp"
2
+ #include < gmock/gmock.h>
3
+ #include < gtest/gtest.h>
4
+ #include < utils/coroutine/SyncWait.hpp>
5
+
6
+
7
+ constexpr auto HelloWorldData = FilesystemParamInterfaceData{ .fileData = " Hello world!" , .filename = " helloworld.txt" };
8
+
9
+ constexpr auto kNmeaDataExample = std::string_view{
10
+ " $GPGSA,A,1,,,,,,,,,,,,,,,* 1E\n "
11
+ " $GPGSV,1,1,0,,,,,,,,,,,,,,,,* 49\n "
12
+ " $GPRMC,114811.00,A,5548.2054190,N,03732.8518300,E,0.22,0.00,210618,0.0,E,A * 30\n "
13
+ " $GPGGA,114811.00,5548.2054190,N,03732.8518300,E,1,06,1.0,179.534,M,14.753,M,0.0,* 45\n "
14
+ " $GPGSA,A,3,02,21,25,26,31,,,,,,,,5.4,1.2,5.3,1 * 2B\n "
15
+ " $GAGSA,A,3,30,,,,,,,,,,,,0.0,0.0,0.0,3 * 3F\n "
16
+ " $GPGSV,2,1,05,02,23,059,28,21,30,222,32,25,41,166,35,26,36,303,34,1 * 67\n "
17
+ " $GPGSV,2,2,05,31,27,254,34,,,,,,,,,,,,,1 * 52\n "
18
+ " $GAGSV,1,1,01,30,23,183,33,,,,,,,,,,,,,7 * 4A\n "
19
+ " $GPRMC,114812.00,A,5548.2052305,N,03732.8513810,E,0.17,0.00,210618,0.0,E,A * 3C\n "
20
+ " $GPGGA,114812.00,5548.2052305,N,03732.8513810,E,1,06,1.0,178.149,M,14.753,M,0.0,* 40\n "
21
+ " $GPGSA,A,3,02,21,25,26,31,,,,,,,,5.4,1.2,5.3,1 * 2B\n "
22
+ " $GAGSA,A,3,30,,,,,,,,,,,,0.0,0.0,0.0,3 * 3F\n "
23
+ " $GPGSV,2,1,05,02,23,059,28,21,30,222,31,25,41,166,36,26,36,303,34,1 * 67\n "
24
+ " $GPGSV,2,2,05,31,27,254,34,,,,,,,,,,,,,1 * 52\n "
25
+ " $GAGSV,1,1,01,30,23,183,32,,,,,,,,,,,,,7 * 4B\n "
26
+ " $GPRMC,114813.00,A,5548.2048307,N,03732.8514121,E,0.28,0.00,210618,0.0,E,A * 34\n "
27
+ " $GPGGA,114813.00,5548.2048307,N,03732.8514121,E,1,06,1.0,172.326,M,14.753,M,0.0,* 45\n "
28
+ " $GPGSA,A,3,02,21,25,26,31,,,,,,,,5.4,1.2,5.3,1 * 2B\n "
29
+ " $GAGSA,A,3,30,,,,,,,,,,,,0.0,0.0,0.0,3 * 3F\n "
30
+ " $GPGSV,2,1,05,02,23,059,28,21,31,222,32,25,41,166,36,26,36,303,34,1 * 65\n "
31
+ " $GPGSV,2,2,05,31,27,254,34,,,,,,,,,,,,,1 * 52\n "
32
+ " $GAGSV,1,1,01,30,23,183,32,,,,,,,,,,,,,7 * 4B\n "
33
+ " $GPRMC,114814.00,A,5548.2047440,N,03732.8516481,E,0.19,0.00,210618,0.0,E,A * 37\n "
34
+ " $GPGGA,114814.00,5548.2047440,N,03732.8516481,E,1,06,1.0,172.488,M,14.753,M,0.0,* 47\n "
35
+ " $GPGSA,A,3,02,21,25,26,31,,,,,,,,5.4,1.2,5.3,1 * 2B\n "
36
+ " $GAGSA,A,3,30,,,,,,,,,,,,0.0,0.0,0.0,3 * 3F\n "
37
+ " $GPGSV,2,1,05,02,23,059,28,21,31,222,32,25,41,166,35,26,36,303,34,1 * 66\n "
38
+ " $GPGSV,2,2,05,31,27,254,34,,,,,,,,,,,,,1 * 52\n "
39
+ " $GAGSV,1,1,01,30,23,183,32,,,,,,,,,,,,,7 * 4B\n "
40
+
41
+ };
42
+
43
+ constexpr auto NmeaData = FilesystemParamInterfaceData{ .fileData = kNmeaDataExample ,.filename = " nmea_data.txt" };
44
+
45
+
46
+ TEST_P (FilesystemTopLevelTestFixture, CheckFileReadWriteProcedure)
47
+ {
48
+ spdlog::warn (" simpleRwTest begin" );
49
+ auto lfs = m_testFilesystem.fsInstance ();
50
+ {
51
+ auto filename = std::move (CoroUtils::syncWait (m_testFilesystem.openFile (GetParam ().filename )));
52
+ CoroUtils::syncWait (filename.write (
53
+ std::span (reinterpret_cast <const std::uint8_t *>(GetParam ().fileData .data ()), GetParam ().fileData .size ())));
54
+ }
55
+
56
+ std::vector<std::uint8_t > readFrom;
57
+ readFrom.resize (GetParam ().fileData .size ());
58
+
59
+ {
60
+ auto holdedFile = std::move (CoroUtils::syncWait (m_testFilesystem.openFile (GetParam ().filename )));
61
+ auto resultRead = CoroUtils::syncWait ( holdedFile.read (std::span (readFrom.data (), GetParam ().fileData .size ())));
62
+ }
63
+
64
+ auto kCompareStringView {
65
+ std::string_view{reinterpret_cast <const char *>(readFrom.data ()), readFrom.size ()} };
66
+ EXPECT_EQ (kCompareStringView , GetParam ().fileData );
67
+ }
68
+
69
+
70
+ INSTANTIATE_TEST_SUITE_P (
71
+ FilesystemTopLevelTesting,
72
+ FilesystemTopLevelTestFixture,
73
+ ::testing::Values (
74
+ FilesystemParamInterfaceData{}));
0 commit comments