Fix FrameworkNodeAttr Deserialization (#7854)

This commit is contained in:
Gleb Kazantaev 2021-10-06 12:40:26 +03:00 committed by GitHub
parent faeeedf141
commit 5ef3472bee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 2 deletions

View File

@ -50,7 +50,7 @@ public:
return m_attrs.end(); return m_attrs.end();
} }
std::string operator[](const std::string& key) { std::string& operator[](const std::string& key) {
return m_attrs[key]; return m_attrs[key];
} }
@ -59,7 +59,7 @@ public:
} }
bool operator==(const FrameworkNodeAttrs& other) const { bool operator==(const FrameworkNodeAttrs& other) const {
return m_type_name == other.m_type_name && m_opset_name == other.m_opset_name && m_attrs == m_attrs; return m_type_name == other.m_type_name && m_opset_name == other.m_opset_name && m_attrs == other.m_attrs;
} }
private: private:

View File

@ -39,6 +39,7 @@ set(SRC
eval.cpp eval.cpp
file_util.cpp file_util.cpp
float16.cpp float16.cpp
framework_node.cpp
function.cpp function.cpp
graph_rewrite.cpp graph_rewrite.cpp
includes.cpp includes.cpp

View File

@ -0,0 +1,43 @@
// Copyright (C) 2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include "ngraph/op/util/framework_node.hpp"
#include <vector>
#include "gtest/gtest.h"
TEST(framework_node, attrs) {
ov::op::util::FrameworkNodeAttrs attrs;
attrs.set_opset_name("opset_name");
ASSERT_EQ(attrs.get_opset_name(), "opset_name");
attrs.set_type_name("type_name");
ASSERT_EQ(attrs.get_type_name(), "type_name");
attrs["attr1"] = "value1";
ASSERT_EQ(attrs.at("attr1"), "value1");
ASSERT_EQ(attrs.begin()->first, "attr1");
ASSERT_EQ(attrs.begin()->first, "attr1");
ASSERT_EQ(attrs.begin()->second, "value1");
ov::op::util::FrameworkNodeAttrs a1, a2;
a1.set_type_name("type_name");
a2.set_type_name("type_name_");
ASSERT_FALSE(a1 == a2);
a2.set_type_name("type_name");
ASSERT_TRUE(a1 == a2);
a1.set_opset_name("opset_name");
a2.set_opset_name("opset_name_");
ASSERT_FALSE(a1 == a2);
a2.set_opset_name("opset_name");
ASSERT_TRUE(a1 == a2);
a1["attr"] = "value";
ASSERT_FALSE(a1 == a2);
a2["attr"] = "value_";
ASSERT_FALSE(a1 == a2);
a2["attr"] = "value";
ASSERT_TRUE(a1 == a2);
}