diff options
author | David Gay <eapoems@riseup.net> | 2024-04-13 21:21:01 -0400 |
---|---|---|
committer | David Gay <eapoems@riseup.net> | 2024-04-13 21:21:01 -0400 |
commit | c900787aa7838d2c708c6c0e92f9da9f7c9121d2 (patch) | |
tree | a6dc8e4fc772feda4f8f06fb63e26ad4c5f6b8a6 /test/lib/dice_test.rb | |
parent | 0d233ca818c3873b1d0da3aa132ccdf36c0d3d16 (diff) |
Dice lib
Diffstat (limited to 'test/lib/dice_test.rb')
-rw-r--r-- | test/lib/dice_test.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/lib/dice_test.rb b/test/lib/dice_test.rb new file mode 100644 index 0000000..1f36f30 --- /dev/null +++ b/test/lib/dice_test.rb @@ -0,0 +1,34 @@ +require "test_helper" + +class DiceTest < ActiveSupport::TestCase + test "rolls fomula" do + result = Dice.roll_formula("4d6+2") + + assert_equal 4, result.rolls.count + assert_equal 6, result.rolls.first&.sides + end + + test "rolls single die" do + result = Dice.roll(10) + + assert_equal 1, result.rolls.count + assert_equal 10, result.rolls.first&.sides + end + + test "increases sides below max" do + original_result = Dice::Result.new + original_result.add_roll Dice::Roll.new(6, 5) + original_result.add_roll Dice::Roll.new(6, 6) + original_result.add_roll Dice::Roll.new(6, 2) + + new_result = original_result.dup + + assert_equal 13, new_result.total + new_result.increase_sides_below_max(6, 1) + assert_equal 15, new_result.total + + new_result.rolls.each_with_index do |roll, index| + assert_equal roll, original_result.rolls[index] + end + end +end |