       (prompt-select :corp iwall)
       (is (= 5 (:credit (get-corp))))
       (is (= 2 (:advance-counter (refresh iwall)))))))
+
+(deftest successful-demonstration
+  "Successful Demonstration - Play if only Runner made unsuccessful run last turn; gain 7 credits"
+  (do-game
+    (new-game (default-corp [(qty "Successful Demonstration" 1)])
+              (default-runner))
+    (play-from-hand state :corp "Successful Demonstration")
+    (is (and (= 3 (:click (get-corp))) (= 5 (:credit (get-runner)))) "Successful Demonstration precondition not met; card not played")
+    (take-credits state :corp)
+    (core/click-run state :runner {:server "R&D"})
+    (core/no-action state :corp nil)
+    (core/jack-out state :runner nil)
+    (take-credits state :runner)
+    (play-from-hand state :corp "Successful Demonstration")
+    (is (= 13 (:credit (get-corp))) "Paid 2 to play event; gained 7 credits")))

      (prompt-choice :corp 0) ; default trace
      (prompt-choice :runner 0) ; Runner won't match
      (is (= 6 (:tag (get-runner))) "Runner took 6 tags"))))

(deftest news-cycle
  (do-game

    (play-from-hand state :corp "PAD Campaign" "New remote")
    (play-from-hand state :corp "Diversified Portfolio")
    (is (= 7 (:credit (get-corp))) "Ignored remote with ICE but no server contents")))

(deftest hedge-fund
  (do-game
    (new-game (default-corp) (default-runner))
    (is (= 5 (:credit (get-corp))))
    (core/play state :corp {:card (first (:hand (get-corp)))})
    (is (= 9 (:credit (get-corp))))))

(deftest midseason-replacements
  "Midseason Replacements - Trace to give Runner tags after they steal an agenda"
