]> git.scottworley.com Git - slidingtile/blobdiff - sliding_tile_lib_test.cc
Input validation
[slidingtile] / sliding_tile_lib_test.cc
index a0a6b52b01f97903359ee26120021a5c2b50e413..7f032a436761d278e8fdf61230f0d94607516408 100644 (file)
@@ -55,3 +55,24 @@ TEST(Board, NonNumericInput) {
   is >> b;
   EXPECT_TRUE(is.fail());
 }
+
+TEST(Board, RepeatedTileInput) {
+  std::istringstream is{"15,15,9,13,3,1,12,8,0,11,6,4,7,5,2,10"};
+  Board b;
+  is >> b;
+  EXPECT_TRUE(is.fail());
+}
+
+TEST(Board, LowTileInput) {
+  std::istringstream is{"-1,14,9,13,3,1,12,8,0,11,6,4,7,5,2,10"};
+  Board b;
+  is >> b;
+  EXPECT_TRUE(is.fail());
+}
+
+TEST(Board, HighTileInput) {
+  std::istringstream is{"16,14,9,13,3,1,12,8,0,11,6,4,7,5,2,10"};
+  Board b;
+  is >> b;
+  EXPECT_TRUE(is.fail());
+}