1b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain/* Copyright 2016 The TensorFlow Authors. All Rights Reserved.
2b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
3b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan JainLicensed under the Apache License, Version 2.0 (the "License");
4b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
5b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan JainYou may obtain a copy of the License at
6b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
7b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain    http://www.apache.org/licenses/LICENSE-2.0
8b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
9b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan JainUnless required by applicable law or agreed to in writing, software
10b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jaindistributed under the License is distributed on an "AS IS" BASIS,
11b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan JainWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan JainSee the License for the specific language governing permissions and
13b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jainlimitations under the License.
14b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain==============================================================================*/
15b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
16b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain#include "tensorflow/core/framework/node_def_builder.h"
17b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain#include "tensorflow/core/framework/op.h"
18b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain#include "tensorflow/core/framework/shape_inference_testutil.h"
19b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain#include "tensorflow/core/framework/tensor_testutil.h"
20b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain#include "tensorflow/core/platform/test.h"
21b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
22b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jainnamespace tensorflow {
23b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
24b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan JainTEST(InputPipelineOpsTest, ObtainNext_InvalidNumberOfInputs) {
25b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain  ShapeInferenceTestOp op("ObtainNext");
26b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain  op.input_tensors.resize(3);
27b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain  INFER_ERROR("Wrong number of inputs passed", op, "?;?;?");
28b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain}
29b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
30b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan JainTEST(InputPipelineOpsTest, ObtainNext) {
31b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain  ShapeInferenceTestOp op("ObtainNext");
32810b3537ff161065c2f3073411e2e16be5cc1b0fRohan Jain  INFER_OK(op, "[100];[]", "[]");
33b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
34810b3537ff161065c2f3073411e2e16be5cc1b0fRohan Jain  INFER_ERROR("Shape must be rank 1 but is rank 2", op, "[1,1];[]");
35810b3537ff161065c2f3073411e2e16be5cc1b0fRohan Jain  INFER_ERROR("Shape must be rank 0 but is rank 1", op, "[1000];[1]");
36b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain}
37b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain
38b14722585d5fbd7e7b8ac00c918e00f19da8ac2aRohan Jain}  // end namespace tensorflow
39