| #include "gtest/gtest.h" |
| #include "Core/Transform.h" |
| |
| class DummyTransform : public Transform { |
| public: |
| DummyTransform(llvm::StringRef Name) : Transform(Name) {} |
| |
| virtual int apply(const FileContentsByPath &, |
| RiskLevel , |
| const clang::tooling::CompilationDatabase &, |
| const std::vector<std::string> &, |
| FileContentsByPath &) { return 0; } |
| |
| void setAcceptedChanges(unsigned Changes) { |
| Transform::setAcceptedChanges(Changes); |
| } |
| void setRejectedChanges(unsigned Changes) { |
| Transform::setRejectedChanges(Changes); |
| } |
| void setDeferredChanges(unsigned Changes) { |
| Transform::setDeferredChanges(Changes); |
| } |
| }; |
| |
| TEST(Transform, Interface) { |
| DummyTransform T("my_transform"); |
| ASSERT_EQ("my_transform", T.getName()); |
| ASSERT_EQ(0u, T.getAcceptedChanges()); |
| ASSERT_EQ(0u, T.getRejectedChanges()); |
| ASSERT_EQ(0u, T.getDeferredChanges()); |
| ASSERT_FALSE(T.getChangesMade()); |
| ASSERT_FALSE(T.getChangesNotMade()); |
| |
| T.setAcceptedChanges(1); |
| ASSERT_TRUE(T.getChangesMade()); |
| |
| T.setDeferredChanges(1); |
| ASSERT_TRUE(T.getChangesNotMade()); |
| |
| T.setRejectedChanges(1); |
| ASSERT_TRUE(T.getChangesNotMade()); |
| |
| T.Reset(); |
| ASSERT_EQ(0u, T.getAcceptedChanges()); |
| ASSERT_EQ(0u, T.getRejectedChanges()); |
| ASSERT_EQ(0u, T.getDeferredChanges()); |
| |
| T.setRejectedChanges(1); |
| ASSERT_TRUE(T.getChangesNotMade()); |
| } |