Fix FrameworkNodeAttr Deserialization (#7943)

* Fix FrameworkNodeAttr Deserialization

* Fix
This commit is contained in:
Gleb Kazantaev
2021-10-14 13:27:50 +03:00
committed by GitHub
parent c5175063c8
commit e2fd335b70
2 changed files with 45 additions and 2 deletions

View File

@@ -36,12 +36,12 @@ public:
attrs_t::const_iterator end() const { return m_attrs.end(); }
std::string operator[](const std::string & key) { return m_attrs[key]; }
std::string& operator[](const std::string & key) { return m_attrs[key]; }
std::string at(const std::string & key) const { return m_attrs.at(key); }
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:

View File

@@ -0,0 +1,43 @@
// Copyright (C) 2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include "ngraph_ops/framework_node.hpp"
#include <vector>
#include "gtest/gtest.h"
TEST(framework_node, attrs) {
ngraph::op::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");
ngraph::op::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);
}