[llvm] [ADT] Add unit tests for set_subtract (PR #99561)
    Jakub Kuderski via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Jul 18 15:29:38 PDT 2024
    
    
  
================
@@ -199,6 +201,42 @@ TEST(SetOperationsTest, SetSubtract) {
   EXPECT_EQ(ExpectedSet2, Set2);
 }
 
+TEST(SetOperationsTest, SetSubtractSmallPtrSet) {
+  int A[4];
+
+  // Set1.size() < Set2.size()
+  SmallPtrSet<int *, 4> Set1 = {&A[0], &A[1]};
+  SmallPtrSet<int *, 4> Set2 = {&A[1], &A[2], &A[3]};
+  SmallPtrSet<int *, 4> ExpectedSet1 = {&A[0]};
+  set_subtract(Set1, Set2);
+  EXPECT_EQ(ExpectedSet1, Set1);
+
+  // Set1.size() > Set2.size()
+  Set1 = {&A[0], &A[1], &A[2]};
+  Set2 = {&A[0], &A[2]};
+  ExpectedSet1 = {&A[1]};
+  set_subtract(Set1, Set2);
+  EXPECT_EQ(ExpectedSet1, Set1);
----------------
kuhar wrote:
You can also do `EXPECT_THAT(Set1, UnorderedElementsAre(&A[1]));`
Same for the test below
https://github.com/llvm/llvm-project/pull/99561
    
    
More information about the llvm-commits
mailing list