Quite a bit of the standard Ares code comes with unit tests - test code that exercises the main code to ensure it’s working properly. For example, here’s a simple test from the FS3 plugin that makes sure the right number of damage “X”s are printed out for the various damage levels:
describe :print_damage do it "should print the right damage" do FS3Combat.print_damage(-0).should eq "%xr%xn----" FS3Combat.print_damage(-0.25).should eq "%xrX%xn---" FS3Combat.print_damage(-1.0).should eq "%xrX%xn---" FS3Combat.print_damage(-1.25).should eq "%xrXX%xn--" FS3Combat.print_damage(-2.25).should eq "%xrXXX%xn-" FS3Combat.print_damage(-3.25).should eq "%xrXXXX%xn" FS3Combat.print_damage(-5).should eq "%xrXXXX%xn" end end
If you’re making code changes, it’s a good idea to run the unit tests to make sure you didn’t accidentally break anything. Just log into the server shell and run
bin/test from the aresmush folder. You’ll see a bunch of spam, and hopefully a success message like this:
Finished in 0.99797 seconds (files took 2.79 seconds to load) 1015 examples, 0 failures
You can add tests for your own code too. Instructions for doing that are a bit beyond the scope of this tutorial, but there’s lots of good information available at the RSpec site.