Add getSemiFuture to folly::SharedPromise
[folly.git] / folly / futures / test / SharedPromiseTest.cpp
index 3cb878ddc0565baf6460bb3d046679cf060da91a..f49bdd439f434dfd1a4606f728874a8305e8976e 100644 (file)
 
 using namespace folly;
 
+TEST(SharedPromise, setGetSemiFuture) {
+  SharedPromise<int> p;
+  p.setValue(1);
+  auto f1 = p.getSemiFuture();
+  auto f2 = p.getSemiFuture();
+  EXPECT_EQ(1, f1.value());
+  EXPECT_EQ(1, f2.value());
+}
+
+TEST(SharedPromise, setGetMixed) {
+  SharedPromise<int> p;
+  p.setValue(1);
+  auto f1 = p.getSemiFuture();
+  auto f2 = p.getFuture();
+  EXPECT_EQ(1, f1.value());
+  EXPECT_EQ(1, f2.value());
+}
+
 TEST(SharedPromise, setGet) {
   SharedPromise<int> p;
   p.setValue(1);