testConcatGradientSimple :: Test
testConcatGradientSimple = testCase "testConcatGradientSimple" $ do
    --   The following check is equivalent to ConcatTest._testGradientsSimple from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[10,x,2] | x <- [1,2,6]] 1
    --   The following check is equivalent to ConcatTest._testGradientsFirstDim from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[x,10,2] | x <- [1,2,6]] 0
    --   The following check is equivalent to ConcatTest._testGradientsLastDim from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[10,2,x] | x <- [1,2,6]] 2


-- This test checks that the gradient of a concat op
--   along a random dimension across random shapes is as expected.
--   This test is inspired by ConcatTest._RunAndVerifyGradientsRandom from
--   tensorflow/tensorflow/compiler/tests/concat_ops_test.py, but also
--   verifies the gradient along negative concat dimensions.
testConcatGradientSimple :: Test
testConcatGradientSimple = testCase "testConcatGradientSimple" $ do
    --   The following check is equivalent to ConcatTest._testGradientsSimple from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[10,x,2] | x <- [1,2,6]] 1
    --   The following check is equivalent to ConcatTest._testGradientsFirstDim from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[x,10,2] | x <- [1,2,6]] 0
    --   The following check is equivalent to ConcatTest._testGradientsLastDim from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[10,2,x] | x <- [1,2,6]] 2


-- This test checks that the gradient of a concat op
--   along a random dimension across random shapes is as expected.
--   This test is inspired by ConcatTest._RunAndVerifyGradientsRandom from
--   tensorflow/tensorflow/compiler/tests/concat_ops_test.py, but also
--   verifies the gradient along negative concat dimensions.
testConcatGradientSimple = testCase "testConcatGradientSimple" $ do
    --   The following check is equivalent to ConcatTest._testGradientsSimple from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[10,x,2] | x <- [1,2,6]] 1
    --   The following check is equivalent to ConcatTest._testGradientsFirstDim from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[x,10,2] | x <- [1,2,6]] 0
    --   The following check is equivalent to ConcatTest._testGradientsLastDim from
    --   tensorflow/tensorflow/compiler/tests/concat_ops_test.py
    verifyConcatGradients [[10,2,x] | x <- [1,2,6]] 2


-- This test checks that the gradient of a concat op
--   along a random dimension across random shapes is as expected.
--   This test is inspired by ConcatTest._RunAndVerifyGradientsRandom from
--   tensorflow/tensorflow/compiler/tests/concat_ops_test.py, but also
--   verifies the gradient along negative concat dimensions.