testPredicates :: TestTree
testPredicates =
  testGroup
    "predicates"
    [ testCase "isText" $ assertBool "isText" (isText "text")
    , testCase "isDateRange" $ assertBool "daterange" (isDateRange "daterange")
    , testCase "isBoolean" $ assertBool "isBoolean" (isBoolean "boolean")
    , testCase "isUUID" $ assertBool "isUUID" (isUUID "uuid")
    , testCase "isSmallint" $ assertBool "isSmallint" (isSmallint "smallint")
    , testCase "isInteger" $ assertBool "isInteger" (isInteger "integer")
    , testCase "isBigint" $ assertBool "isBigint" (isBigint "bigint")
    , testCase "isFloat32" $ assertBool "isFloat32" (isFloat32 "real")
    , testCase "isFloat64" $
      assertBool "isFloat64" (isFloat64 "double precision")
    , testCase "isBinary" $ assertBool "isBinary" (isBinary "bytea")
    , testCase "isLsn" $ assertBool "isLsn" (isLsn "pg_lsn")
    , testCase "isDate" $ assertBool "isDate" (isDate "date")
    , testCase "isTimeTz" $
      assertBool "isTimeTz" (isTimeTz "time with time zone")
    , testCase "isTimeNoTz" $ assertBool "isTimeNoTz" (isTimeNoTz "time")
    , testCase "isTimestampTz" $
      assertBool "isTimestampTz" (isTimestampTz "timestamp with time zone")
    , testCase "isTimestampNoTz" $
      assertBool "isTimestampNoTz" (isTimestampNoTz "timestamp")
    ]
testPredicates :: TestTree
testPredicates =
  testGroup
    "predicates"
    [ testCase "isText" $ assertBool "isText" (isText "text")
    , testCase "isDateRange" $ assertBool "daterange" (isDateRange "daterange")
    , testCase "isBoolean" $ assertBool "isBoolean" (isBoolean "boolean")
    , testCase "isUUID" $ assertBool "isUUID" (isUUID "uuid")
    , testCase "isSmallint" $ assertBool "isSmallint" (isSmallint "smallint")
    , testCase "isInteger" $ assertBool "isInteger" (isInteger "integer")
    , testCase "isBigint" $ assertBool "isBigint" (isBigint "bigint")
    , testCase "isFloat32" $ assertBool "isFloat32" (isFloat32 "real")
    , testCase "isFloat64" $
      assertBool "isFloat64" (isFloat64 "double precision")
    , testCase "isBinary" $ assertBool "isBinary" (isBinary "bytea")
    , testCase "isLsn" $ assertBool "isLsn" (isLsn "pg_lsn")
    , testCase "isDate" $ assertBool "isDate" (isDate "date")
    , testCase "isTimeTz" $
      assertBool "isTimeTz" (isTimeTz "time with time zone")
    , testCase "isTimeNoTz" $ assertBool "isTimeNoTz" (isTimeNoTz "time")
    , testCase "isTimestampTz" $
      assertBool "isTimestampTz" (isTimestampTz "timestamp with time zone")
    , testCase "isTimestampNoTz" $
      assertBool "isTimestampNoTz" (isTimestampNoTz "timestamp")
    ]
testPredicates =
  testGroup
    "predicates"
    [ testCase "isText" $ assertBool "isText" (isText "text")
    , testCase "isDateRange" $ assertBool "daterange" (isDateRange "daterange")
    , testCase "isBoolean" $ assertBool "isBoolean" (isBoolean "boolean")
    , testCase "isUUID" $ assertBool "isUUID" (isUUID "uuid")
    , testCase "isSmallint" $ assertBool "isSmallint" (isSmallint "smallint")
    , testCase "isInteger" $ assertBool "isInteger" (isInteger "integer")
    , testCase "isBigint" $ assertBool "isBigint" (isBigint "bigint")
    , testCase "isFloat32" $ assertBool "isFloat32" (isFloat32 "real")
    , testCase "isFloat64" $
      assertBool "isFloat64" (isFloat64 "double precision")
    , testCase "isBinary" $ assertBool "isBinary" (isBinary "bytea")
    , testCase "isLsn" $ assertBool "isLsn" (isLsn "pg_lsn")
    , testCase "isDate" $ assertBool "isDate" (isDate "date")
    , testCase "isTimeTz" $
      assertBool "isTimeTz" (isTimeTz "time with time zone")
    , testCase "isTimeNoTz" $ assertBool "isTimeNoTz" (isTimeNoTz "time")
    , testCase "isTimestampTz" $
      assertBool "isTimestampTz" (isTimestampTz "timestamp with time zone")
    , testCase "isTimestampNoTz" $
      assertBool "isTimestampNoTz" (isTimestampNoTz "timestamp")
    ]