comparison OrthancFramework/UnitTestsSources/FrameworkTests.cpp @ 4342:52166629239f

SystemToolbox::ReadFileRange()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 03 Dec 2020 18:48:06 +0100
parents a01b1c9cbef4
children 80fd140b12ba
comparison
equal deleted inserted replaced
4341:977c2759eb0a 4342:52166629239f
1371 ASSERT_EQ(MetricsType_MaxOver10Seconds, m.GetMetricsType("a")); 1371 ASSERT_EQ(MetricsType_MaxOver10Seconds, m.GetMetricsType("a"));
1372 ASSERT_EQ(MetricsType_MinOver10Seconds, m.GetMetricsType("b")); 1372 ASSERT_EQ(MetricsType_MinOver10Seconds, m.GetMetricsType("b"));
1373 } 1373 }
1374 } 1374 }
1375 #endif 1375 #endif
1376
1377
1378 #if ORTHANC_SANDBOXED != 1
1379 TEST(Toolbox, ReadFileRange)
1380 {
1381 TemporaryFile tmp;
1382 std::string s;
1383
1384 tmp.Write("");
1385 tmp.Read(s); ASSERT_TRUE(s.empty());
1386 tmp.ReadRange(s, 0, 0, true); ASSERT_TRUE(s.empty());
1387 tmp.ReadRange(s, 0, 10, false); ASSERT_TRUE(s.empty());
1388
1389 ASSERT_THROW(tmp.ReadRange(s, 0, 1, true), OrthancException);
1390
1391 tmp.Write("Hello");
1392 tmp.Read(s); ASSERT_EQ("Hello", s);
1393 tmp.ReadRange(s, 0, 5, true); ASSERT_EQ("Hello", s);
1394 tmp.ReadRange(s, 0, 1, true); ASSERT_EQ("H", s);
1395 tmp.ReadRange(s, 1, 2, true); ASSERT_EQ("e", s);
1396 tmp.ReadRange(s, 2, 3, true); ASSERT_EQ("l", s);
1397 tmp.ReadRange(s, 3, 4, true); ASSERT_EQ("l", s);
1398 tmp.ReadRange(s, 4, 5, true); ASSERT_EQ("o", s);
1399 tmp.ReadRange(s, 2, 5, true); ASSERT_EQ("llo", s);
1400 tmp.ReadRange(s, 2, 50, false); ASSERT_EQ("llo", s);
1401 tmp.ReadRange(s, 2, 2, false); ASSERT_TRUE(s.empty());
1402 tmp.ReadRange(s, 10, 50, false); ASSERT_TRUE(s.empty());
1403
1404 ASSERT_THROW(tmp.ReadRange(s, 5, 10, true), OrthancException);
1405 ASSERT_THROW(tmp.ReadRange(s, 10, 50, true), OrthancException);
1406 ASSERT_THROW(tmp.ReadRange(s, 50, 10, true), OrthancException);
1407 ASSERT_THROW(tmp.ReadRange(s, 2, 1, true), OrthancException);
1408 }
1409 #endif