Advertisement
Guest User

Untitled

a guest
May 19th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. import org.openjdk.jcstress.annotations.*;
  2. import org.openjdk.jcstress.infra.results.L_Result;
  3.  
  4. import java.util.StringJoiner;
  5.  
  6. import static org.openjdk.jcstress.annotations.Expect.ACCEPTABLE;
  7. import static org.openjdk.jcstress.annotations.Expect.FORBIDDEN;
  8.  
  9. @JCStressTest
  10. @Outcome(id = "1, 2", expect = ACCEPTABLE, desc = "Both added successfully.")
  11. @Outcome(id = "2, 1", expect = ACCEPTABLE, desc = "Both added successfully.")
  12. @Outcome(id = "1", expect = FORBIDDEN, desc = "One failed.")
  13. @Outcome(id = "2", expect = FORBIDDEN, desc = "One failed.")
  14. @Outcome(id = "", expect = FORBIDDEN, desc = "Both failed.")
  15. @State
  16. public class LockFreeSetAddTest {
  17. private LockFreeSet<Integer> set = new LockFreeSetImpl<>();
  18.  
  19. @Actor
  20. public void actor1() {
  21. set.add(1);
  22. }
  23.  
  24. @Actor
  25. public void actor2() {
  26. set.add(2);
  27. }
  28.  
  29. @Arbiter
  30. public void arbiter(L_Result r) {
  31. StringJoiner joiner = new StringJoiner(", ");
  32. set.iterator().forEachRemaining(value -> joiner.add(value.toString()));
  33. r.r1 = joiner.toString();
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement