Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion logic/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ function EvensHandValidator.isValidCardRanks(cardRanksFromHand)
return false
end

local validCardRanks = {'2', '4', '6', '8', '10'}
-- Card values in Balatro use 'T' to denote Ten. The validator previously
-- expected the literal string '10', which meant actual hands containing a
-- ten would fail validation. Align with the game's representation by using
-- 'T' instead of '10'.
local validCardRanks = {'2', '4', '6', '8', 'T'}
local uniqueCardRanks = {}
local uniqueCardRanksCounted = 0

Expand Down
14 changes: 7 additions & 7 deletions my_test_suite.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ local Utils = require('utils')
local EvensHandValidator = require('logic')

function testIsValidCardRanksFromStrictEvensHandShouldBeTrue()
lu.assertIsTrue(EvensHandValidator.isValidCardRanks({'2', '10', '8', '6', '4'}), nil)
lu.assertIsTrue(EvensHandValidator.isValidCardRanks({'2', 'T', '8', '6', '4'}), nil)
end

function testIsValidCardRanksForEvensHandCardWithAThreeShouldBeFalse()
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'3', '10', '8', '6', '4'}), nil)
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'3', 'T', '8', '6', '4'}), nil)
end

function testIsValidCardRanksWithEvensHandCardWithAJackShouldBeFalse()
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'J', '10', '8', '6', '4'}), nil)
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'J', 'T', '8', '6', '4'}), nil)
end


Expand All @@ -21,19 +21,19 @@ function testIsValidCardRanksWithEvensHandCardWithoutAnyEvenCardsShouldBeFalse()
end

function testIsValidCardRanksWithNonEvensHandCardShouldBeFalse()
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'3', '10', '8', '6', '4'}), nil)
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'3', 'T', '8', '6', '4'}), nil)
end

function testIsValidCardRanksFromEvensHandWithFourCardsShouldBeFalse()
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'2', '10', '8', '4'}), nil)
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'2', 'T', '8', '4'}), nil)
end

function testIsValidCardRanksFromEvensHandWithDuplicateIncompleteSetOfCardsShouldBeFalse()
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'10', '10', '8', '4'}), nil)
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'T', 'T', '8', '4'}), nil)
end

function testIsValidCardRanksFromEvensHandWithDuplicateYetCorrectCardRanksShouldBeFalse()
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'10', '10', '8', '4', '2'}), nil)
lu.assertIsFalse(EvensHandValidator.isValidCardRanks({'T', 'T', '8', '4', '2'}), nil)
end

os.exit( lu.LuaUnit.run() )