From c900787aa7838d2c708c6c0e92f9da9f7c9121d2 Mon Sep 17 00:00:00 2001 From: David Gay Date: Sat, 13 Apr 2024 21:21:01 -0400 Subject: Dice lib --- test/lib/dice_test.rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/lib/dice_test.rb (limited to 'test/lib/dice_test.rb') 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 -- cgit v1.2.3