================
@@ -0,0 +1,100 @@
+//===- ModelStringConversionsTest.cpp 
-------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "ModelStringConversions.h"
+#include "gtest/gtest.h"
+
+using namespace clang::ssaf;
+
+namespace {
+
+//===----------------------------------------------------------------------===//
+// BuildNamespaceKind
+//===----------------------------------------------------------------------===//
+
+TEST(BuildNamespaceKindStringTest, ToStringCompilationUnit) {
+  EXPECT_EQ(buildNamespaceKindToString(BuildNamespaceKind::CompilationUnit),
+            "CompilationUnit");
+}
+
+TEST(BuildNamespaceKindStringTest, ToStringLinkUnit) {
+  EXPECT_EQ(buildNamespaceKindToString(BuildNamespaceKind::LinkUnit),
+            "LinkUnit");
+}
+
+TEST(BuildNamespaceKindStringTest, FromStringCompilationUnit) {
+  EXPECT_EQ(buildNamespaceKindFromString("CompilationUnit"),
+            BuildNamespaceKind::CompilationUnit);
+}
+
+TEST(BuildNamespaceKindStringTest, FromStringLinkUnit) {
+  EXPECT_EQ(buildNamespaceKindFromString("LinkUnit"),
+            BuildNamespaceKind::LinkUnit);
+}
+
+TEST(BuildNamespaceKindStringTest, FromStringUnknown) {
+  EXPECT_EQ(buildNamespaceKindFromString("compilation_unit"), std::nullopt);
+  EXPECT_EQ(buildNamespaceKindFromString("link_unit"), std::nullopt);
+  EXPECT_EQ(buildNamespaceKindFromString(""), std::nullopt);
+  EXPECT_EQ(buildNamespaceKindFromString("unknown"), std::nullopt);
+}
+
+TEST(BuildNamespaceKindStringTest, RoundTrip) {
+  for (auto Kind :
+       {BuildNamespaceKind::CompilationUnit, BuildNamespaceKind::LinkUnit}) {
+    EXPECT_EQ(buildNamespaceKindFromString(buildNamespaceKindToString(Kind)),
+              Kind);
----------------
steakhal wrote:

Maybe we could just unroll these.

https://github.com/llvm/llvm-project/pull/183390
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to