I do do a lot of unit testing in my game. It is the only way to catch some of the more nefarious logic errors, where code will refuse to run, seemingly for no reason, but there is always a reason with code. Either it is a poorly chosen comparison statement, nested if/else improperly, or a minor typo with a string (unfortunately, 2.7 python doesn't have enumerators, though it does have the enumerate() function), is what it usually happens to be.
As for the damage algorithm, how were you planning on implementing Concussion and Penetration damage types? As I recall, Laser is full Penetration damage and Microwave is 50/50, and typically the laser would lose due to the way Penetration damage works; otherwise the Laser should have more points of damage overall, compared to Microwave.
Will there be a recorded video of the session, for those of us that don't make it though? To watch as an after-the-fact, kind of thing?