[PyTorch] Add test for operator_name (#64672)
authorScott Wolchok <swolchok@fb.com>
Mon, 13 Sep 2021 21:31:36 +0000 (14:31 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Mon, 13 Sep 2021 21:32:50 +0000 (14:32 -0700)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/64672

Just a small struct missing test coverage. Next diff changes it.
ghstack-source-id: 137786388

Test Plan: CI

Reviewed By: dhruvbird

Differential Revision: D30813013

fbshipit-source-id: 05f39494bb9512a71a928bfe6fcfa710016bdf61

aten/src/ATen/test/operator_name_test.cpp [new file with mode: 0644]

diff --git a/aten/src/ATen/test/operator_name_test.cpp b/aten/src/ATen/test/operator_name_test.cpp
new file mode 100644 (file)
index 0000000..6d07457
--- /dev/null
@@ -0,0 +1,22 @@
+#include <gtest/gtest.h>
+
+#include <ATen/core/operator_name.h>
+
+TEST(OperatorNameTest, SetNamespaceIfNotSetWithoutExistingNamespace) {
+  c10::OperatorName testName("operator", "operator.overload");
+
+  const auto result = testName.setNamespaceIfNotSet("ns");
+  EXPECT_TRUE(result);
+  EXPECT_EQ(testName.name, "ns::operator");
+  EXPECT_EQ(testName.overload_name, "operator.overload");
+  EXPECT_EQ(testName.getNamespace(), c10::optional<c10::string_view>("ns"));
+}
+
+TEST(OperatorNameTest, SetNamespaceIfNotSetWithExistingNamespace) {
+  c10::OperatorName namespacedName("already_namespaced::operator", "operator.overload");
+  const auto result = namespacedName.setNamespaceIfNotSet("namespace");
+  EXPECT_FALSE(result);
+  EXPECT_EQ(namespacedName.name, "already_namespaced::operator");
+  EXPECT_EQ(namespacedName.overload_name, "operator.overload");
+  EXPECT_EQ(namespacedName.getNamespace(), c10::optional<c10::string_view>("already_namespaced"));
+}