@@ -1702,4 +1702,50 @@ TEST(ARLibTests, StreamingTest) {
17021702 StringStream str{ test_string };
17031703 Vector<StringView> expected{ " hello world" _sv, " this is a test" _sv, " another line" _sv };
17041704 for (const auto & [i, line] : enumerate(str.lines ())) { EXPECT_EQ (line, expected[i]); }
1705+ }
1706+ TEST (ARLibTests, ArgParserDefaultValueTest) {
1707+ const char * argv[] = { " test" };
1708+ const int argc = 1 ;
1709+ ArgParser parser{ argc, argv };
1710+ Path p{};
1711+ parser.add_option ({ " -p" , " --path" }, " PATH" , " Path to file" , p, " testfile.txt" _p);
1712+ parser.parse ().must ();
1713+ EXPECT_EQ (p, " testfile.txt" _p);
1714+
1715+ ArgParser parser2{ argc, argv };
1716+ Path p2{};
1717+ parser2.add_option ({ " -p" , " --path" }, " PATH" , " Path to file" , p2);
1718+ auto res = parser2.parse ();
1719+ EXPECT_TRUE (res.is_error ());
1720+ res.ignore_error ();
1721+ }
1722+ TEST (ARLibTests, PrimeGeneratorTest) {
1723+ constexpr size_t primes[] = {
1724+ 2 , 2 , 3 , 5 , 5 , 7 , 7 , 11 , 11 , 11 , 11 , 13 , 13 , 17 , 17 , 17 , 17 , 19 , 19 , 23 , 23 , 23 ,
1725+ 23 , 29 , 29 , 29 , 29 , 29 , 29 , 31 , 31 , 37 , 37 , 37 , 37 , 37 , 37 , 41 , 41 , 41 , 41 , 43 , 43 , 47 ,
1726+ 47 , 47 , 47 , 53 , 53 , 53 , 53 , 53 , 53 , 59 , 59 , 59 , 59 , 59 , 59 , 61 , 61 , 67 , 67 , 67 , 67 , 67 ,
1727+ 67 , 71 , 71 , 71 , 71 , 73 , 73 , 79 , 79 , 79 , 79 , 79 , 79 , 83 , 83 , 83 , 83 , 89 , 89 , 89 , 89 , 89 ,
1728+ 89 , 97 , 97 , 97 , 97 , 97 , 97 , 97 , 97 , 101 , 101 , 101 , 101 , 103 , 103 , 107 , 107 , 107 , 107 , 109 , 109 , 113 ,
1729+ 113 , 113 , 113 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 127 , 131 , 131 , 131 , 131 , 137 ,
1730+ 137 , 137 , 137 , 137 , 137 , 139 , 139 , 149 , 149 , 149 , 149 , 149 , 149 , 149 , 149 , 149 , 149 , 151 , 151 , 157 , 157 , 157 ,
1731+ 157 , 157 , 157 , 163 , 163 , 163 , 163 , 163 , 163 , 167 , 167 , 167 , 167 , 173 , 173 , 173 , 173 , 173 , 173 , 179 , 179 , 179 ,
1732+ 179 , 179 , 179 , 181 , 181 , 191 , 191 , 191 , 191 , 191 , 191 , 191 , 191 , 191 , 191 , 193 , 193 , 197 , 197 , 197 , 197 , 199 ,
1733+ 199 , 211 , 211 , 211 , 211 , 211 , 211 , 211 , 211 , 211 , 211 , 211 , 211 , 223 , 223 , 223 , 223 , 223 , 223 , 223 , 223 , 223 ,
1734+ 223 , 223 , 223 , 227 , 227 , 227 , 227 , 229 , 229 , 233 , 233 , 233 , 233 , 239 , 239 , 239 , 239 , 239 , 239 , 241 , 241 , 251 ,
1735+ 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 257 , 257 , 257 , 257 , 257 , 257 , 263 , 263 , 263 , 263 , 263 , 263 , 269 ,
1736+ 269 , 269 , 269 , 269 , 269 , 271 , 271 , 277 , 277 , 277 , 277 , 277 , 277 , 281 , 281 , 281 , 281 , 283 , 283 , 293 , 293 , 293 ,
1737+ 293 , 293 , 293 , 293 , 293 , 293 , 293 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 307 , 311 ,
1738+ 311 , 311 , 311 , 313 , 313 , 317 , 317 , 317 , 317 , 331 , 331 , 331 , 331 , 331 , 331 , 331 , 331 , 331 , 331 , 331 , 331 , 331 ,
1739+ 331 , 337 , 337 , 337 , 337 , 337 , 337 , 347 , 347 , 347 , 347 , 347 , 347 , 347 , 347 , 347 , 347 , 349 , 349 , 353 , 353 , 353 ,
1740+ 353 , 359 , 359 , 359 , 359 , 359 , 359 , 367 , 367 , 367 , 367 , 367 , 367 , 367 , 367 , 373 , 373 , 373 , 373 , 373 , 373 , 379 ,
1741+ 379 , 379 , 379 , 379 , 379 , 383 , 383 , 383 , 383 , 389 , 389 , 389 , 389 , 389 , 389 , 397 , 397 , 397 , 397 , 397 , 397 , 397 ,
1742+ 397 , 401 , 401 , 401 , 401 , 409 , 409 , 409 , 409 , 409 , 409 , 409 , 409 , 419 , 419 , 419 , 419 , 419 , 419 , 419 , 419 , 419 ,
1743+ 419 , 421 , 421 , 431 , 431 , 431 , 431 , 431 , 431 , 431 , 431 , 431 , 431 , 433 , 433 , 439 , 439 , 439 , 439 , 439 , 439 , 443 ,
1744+ 443 , 443 , 443 , 449 , 449 , 449 , 449 , 449 , 449 , 457 , 457 , 457 , 457 , 457 , 457 , 457 , 457 , 461 , 461 , 461 , 461 , 463 ,
1745+ 463 , 467 , 467 , 467 , 467 , 479 , 479 , 479 , 479 , 479 , 479 , 479 , 479 , 479 , 479 , 479 , 479 , 487 , 487 , 487 , 487 , 487 ,
1746+ 487 , 487 , 487 , 491 , 491 , 491 , 491 , 499 , 499 , 499 , 499 , 499 , 499 , 499 , 499 , 503
1747+ };
1748+ for (size_t i = 0 ; i < sizeof_array (primes); ++i) {
1749+ EXPECT_EQ (prime_generator (i), primes[i]);
1750+ }
17051751}
0 commit comments