       (core/rez state :corp enig)
       (card-ability state :corp enig 0)
       (is (= 2 (:click (get-runner))) "Runner lost 1 click"))))
+
+(deftest fenris
+  "Fenris - Illicit ICE give Corp 1 bad publicity when rezzed"
+  (do-game
+    (new-game (default-corp [(qty "Fenris" 1)])
+              (default-runner))
+    (play-from-hand state :corp "Fenris" "HQ")
+    (take-credits state :corp)
+    (let [fen (get-in @state [:corp :servers :hq :ices 0])]
+      (core/click-run state :runner {:server "HQ"})
+      (core/rez state :corp fen)
+      (is (= 1 (:bad-publicity (get-corp))) "Gained 1 bad pub")
+      (card-ability state :corp fen 0)
+      (is (= 1 (:brain-damage (get-runner))) "Runner took 1 brain damage")
+      (is (= 1 (count (:discard (get-runner)))))
+      (is (= 4 (:max-hand-size (get-runner)))))))
+
+(deftest gemini-kicker
+  "Gemini - Successfully trace to do 1 net damage; do 1 net damage if trace strength is 5 or more regardless of success"
+  (do-game
+    (new-game (default-corp [(qty "Gemini" 1) (qty "Hedge Fund" 2)])
+              (default-runner [(qty "Sure Gamble" 3) (qty "Dirty Laundry" 2)]))
+    (play-from-hand state :corp "Gemini" "HQ")
+    (play-from-hand state :corp "Hedge Fund")
+    (play-from-hand state :corp "Hedge Fund")
+    (take-credits state :corp)
+    (let [gem (get-in @state [:corp :servers :hq :ices 0])]
+      (core/click-run state :runner {:server "HQ"})
+      (core/rez state :corp gem)
+      (card-ability state :corp gem 0)
+      (prompt-choice :corp 3) ; boost to trace strength 5
+      (prompt-choice :runner 0)
+      (is (= 2 (count (:discard (get-runner)))) "Did 2 net damage")
+      (card-ability state :corp gem 0)
+      (prompt-choice :corp 3) ; boost to trace strength 5
+      (prompt-choice :runner 5) ; match trace
+      (is (= 3 (count (:discard (get-runner)))) "Did only 1 net damage for having trace strength 5 or more"))))
 
 (deftest lockdown
   "Lockdown - Prevent Runner from drawing cards for the rest of the turn"

      (prompt-choice :runner 0)
      (is (not (get-in (refresh tmi) [:rezzed]))))))

(deftest wraparound
  "Wraparound - Strength boosted when no fracter is installed"
  (do-game

        (core/rez state :corp paper)
        (is (= 6 (:current-strength (refresh curt))) "Curtain Wall back to default 6 strength")))))

(deftest draco
  "Dracō - Pay credits when rezzed to increase strength; trace to give 1 tag and end the run"
  (do-game
    (new-game (default-corp [(qty "Dracō" 1)])
              (default-runner))
    (play-from-hand state :corp "Dracō" "HQ")
    (take-credits state :corp)
    (let [drac (get-in @state [:corp :servers :hq :ices 0])]
      (core/click-run state :runner {:server "HQ"})
      (core/rez state :corp drac)
      (prompt-choice :corp 4)
      (is (= 4 (:counter (refresh drac))) "Dracō has 4 power counters")
      (is (= 4 (:current-strength (refresh drac))) "Dracō is 4 strength")
      (card-ability state :corp drac 0)
      (prompt-choice :corp 0)
      (prompt-choice :runner 0)
      (is (= 1 (:tag (get-runner))) "Runner took 1 tag")
      (is (nil? (get-in @state [:run])) "Run was ended"))))

(deftest enigma
  "Enigma - Force Runner to lose 1 click if able"
  (do-game
