Created
September 15, 2020 07:29
-
-
Save opparco/2d452f12f21102b5b6c28077a7309bb1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lib/bcdice/user_defined_dice_table.rb b/lib/bcdice/user_defined_dice_table.rb | |
index 11c8938..ca2b086 100644 | |
--- a/lib/bcdice/user_defined_dice_table.rb | |
+++ b/lib/bcdice/user_defined_dice_table.rb | |
@@ -52,7 +52,7 @@ module BCDice | |
return false | |
end | |
- index_list = @rows.map(&:to_i).unique.sort | |
+ index_list = @rows.map(&:to_i).uniq.sort | |
case @type | |
when /^\d+D\d+$/ | |
@@ -118,7 +118,7 @@ module BCDice | |
return index_list == expected_index | |
end | |
- def valid_d66_sort? | |
+ def valid_d66_sort?(index_list) | |
if index_list.size != 21 | |
return false | |
end | |
diff --git a/test/test_user_defined_dice_table.rb b/test/test_user_defined_dice_table.rb | |
index ddf9459..2a099cd 100644 | |
--- a/test/test_user_defined_dice_table.rb | |
+++ b/test/test_user_defined_dice_table.rb | |
@@ -36,7 +36,27 @@ class TestUserDefinedDiceTable < Test::Unit::TestCase | |
@text_d66a = <<~TEXT | |
ソート昇順表 | |
D66a | |
+ 11:v | |
+ 12:v | |
+ 13:v | |
+ 14:v | |
+ 15:v | |
16:いちろく | |
+ 22:v | |
+ 23:v | |
+ 24:v | |
+ 25:v | |
+ 26:v | |
+ 33:v | |
+ 34:v | |
+ 35:v | |
+ 36:v | |
+ 44:v | |
+ 45:v | |
+ 46:v | |
+ 55:v | |
+ 56:v | |
+ 66:v | |
TEXT | |
@text_d66d = <<~TEXT | |
@@ -44,6 +64,40 @@ class TestUserDefinedDiceTable < Test::Unit::TestCase | |
D66d | |
61:ろくいち | |
TEXT | |
+ | |
+ # 間違い | |
+ @text_d66a_wrong = <<~TEXT | |
+ ソート降順表 | |
+ D66a | |
+ 61:ろくいち | |
+ TEXT | |
+ | |
+ # 間違い | |
+ @text_d66d_wrong = <<~TEXT | |
+ ソート昇順表 | |
+ D66d | |
+ 11:v | |
+ 12:v | |
+ 13:v | |
+ 14:v | |
+ 15:v | |
+ 16:いちろく | |
+ 22:v | |
+ 23:v | |
+ 24:v | |
+ 25:v | |
+ 26:v | |
+ 33:v | |
+ 34:v | |
+ 35:v | |
+ 36:v | |
+ 44:v | |
+ 45:v | |
+ 46:v | |
+ 55:v | |
+ 56:v | |
+ 66:v | |
+ TEXT | |
end | |
def test_1d6_1 | |
@@ -97,6 +151,7 @@ class TestUserDefinedDiceTable < Test::Unit::TestCase | |
def test_d66a_16 | |
table = BCDice::UserDefinedDiceTable.new(@text_d66a) | |
+ assert(table.valid?) | |
table.randomizer = RandomizerMock.new([[1, 6], [6, 6]]) | |
assert_equal("ソート昇順表(16) > いちろく", table.roll()) | |
@@ -104,6 +159,7 @@ class TestUserDefinedDiceTable < Test::Unit::TestCase | |
def test_d66a_61 | |
table = BCDice::UserDefinedDiceTable.new(@text_d66a) | |
+ assert(table.valid?) | |
table.randomizer = RandomizerMock.new([[6, 6], [1, 6]]) | |
assert_equal("ソート昇順表(16) > いちろく", table.roll()) | |
@@ -139,11 +195,21 @@ class TestUserDefinedDiceTable < Test::Unit::TestCase | |
assert(table.valid?) | |
end | |
- def valid_check_3d4_miss_raws | |
+ def valid_check_3d4_miss_rows | |
table = BCDice::UserDefinedDiceTable.new(@text_3d4) | |
assert_false(table.valid?) | |
end | |
+ def valid_check_d66a_wrong | |
+ table = BCDice::UserDefinedDiceTable.new(@text_d66a_wrong) | |
+ assert_false(table.valid?) | |
+ end | |
+ | |
+ def valid_check_d66d_wrong | |
+ table = BCDice::UserDefinedDiceTable.new(@text_d66d_wrong) | |
+ assert_false(table.valid?) | |
+ end | |
+ | |
def valid_check_invalid_dice_type | |
text = <<~TEXT | |
不正な表 | |
@@ -155,7 +221,7 @@ class TestUserDefinedDiceTable < Test::Unit::TestCase | |
assert_false(table.valid?) | |
end | |
- def valid_check_dup_raws | |
+ def valid_check_dup_rows | |
text = <<~TEXT | |
重複あり表 | |
2D4 | |
@@ -172,7 +238,7 @@ class TestUserDefinedDiceTable < Test::Unit::TestCase | |
assert_false(table.valid?) | |
end | |
- def valid_check_outrange_raw | |
+ def valid_check_outrange_row | |
text = <<~TEXT | |
範囲外表 | |
1D4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment