2 * Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include "luci/IR/Nodes/CircleCustom.h"
19 #include "luci/IR/CircleDialect.h"
21 #include <gtest/gtest.h>
23 TEST(CircleCustomTest, constructor)
25 luci::CircleCustom custom_node(2);
27 ASSERT_EQ(luci::CircleDialect::get(), custom_node.dialect());
28 ASSERT_EQ(luci::CircleOpcode::CUSTOM, custom_node.opcode());
30 ASSERT_EQ(2, custom_node.arity());
31 ASSERT_EQ(nullptr, custom_node.arg(0));
32 ASSERT_EQ(nullptr, custom_node.arg(1));
34 ASSERT_EQ(2, custom_node.numInputs());
35 ASSERT_EQ(0, custom_node.custom_code().size());
38 TEST(CircleCustomTest, constructor_NEG)
40 ASSERT_DEBUG_DEATH(luci::CircleCustom{0}, "");
45 TEST(CircleCustomTest, invalidIndex_NEG)
47 luci::CircleCustom custom_node(2);
49 EXPECT_ANY_THROW(custom_node.arg(5));