def test_rolled_douse__should_implement_equal(): rolled_douse_1_sym_1 = dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ) rolled_douse_1_sym_2 = dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ) rolled_douse_2_sym_1 = dse.RolledDouse( douse=Douse2(), symbol=Sym1(), ) rolled_douse_2_sym_2 = dse.RolledDouse( douse=Douse2(), symbol=Sym2(), ) assert rolled_douse_1_sym_1 == dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ) assert rolled_douse_2_sym_2 == dse.RolledDouse( douse=Douse2(), symbol=Sym2(), ) assert rolled_douse_1_sym_1 != rolled_douse_1_sym_2 assert rolled_douse_1_sym_1 != rolled_douse_2_sym_1
def test_dice_pool__should_be_created_from_list(): dice_list = [ Douse1(), Douse1(), Douse2(), ] dice_pool = dce.DicePool.from_dice_list(dice_list) assert dice_pool.get_probability_distribution().as_dict[ dce.RolledDicePool.from_rolled_dice_list( rolled_dice_list=[ dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse2(), symbol=Sym1(), ) ] ) ] == fractions.Fraction(4, 27), 'Proper probability calculation'
def test_add_rolled_dice_pool__dice_pools(): rolled_dice_pool_1 = dce.RolledDicePool( rolled_dice_counter=collections.Counter( [ dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ), ] ) ) rolled_dice_pool_2 = dce.RolledDicePool( rolled_dice_counter=collections.Counter( [ dse.RolledDouse( douse=Douse2(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ), ] ) ) rolled_dice = rolled_dice_pool_1 + rolled_dice_pool_2 assert len(rolled_dice.rolled_dice_counter) == 3
def test_douse__should_implement_hash(): assert len( collections.Counter( [ Douse1(), Douse1(), Douse2(), ] ) ) == 2
def test_count_dice_pool(): dice_pool = dce.DicePool.from_dice_list([ Douse1(), Douse1(), Douse2(), ]) symbols = syms.Symbols.from_symbols_list([ Sym1(), Sym1(), Sym1(), ]) assert CountSymbols().on(dice_pool).as_dict[symbols] == fractions.Fraction( 4, 27)
def test_count_rolled_dice(): rolled_dice_pool = dce.RolledDicePool.from_rolled_dice_list([ dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ), dse.RolledDouse( douse=Douse2(), symbol=Sym1(), ) ]) symbols = syms.Symbols.from_symbols_list([ Sym1(), Sym1(), Sym2(), ]) assert CountSymbols().on(rolled_dice_pool) == symbols
def test_add_rolled_dice_pool__dice_pool_and_new_douse(): appended_douse = dse.RolledDouse( douse=Douse2(), symbol=Sym2(), ) rolled_dice = dce.RolledDicePool( rolled_dice_counter=collections.Counter( [ dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ), ] ) ) + appended_douse assert len(rolled_dice.rolled_dice_counter) == 3 assert rolled_dice.rolled_dice_counter[appended_douse] == 1
def test_rolled_douse__should_implement_hash(): assert len( collections.Counter( [ dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ), dse.RolledDouse( douse=Douse2(), symbol=Sym1(), ), ] ) ) == 3
def test_add_rolled_dice_pool__dice_pool_and_dice_pool_with_tokens(): rolled_dice_pool_1 = dce.RolledDicePool( rolled_dice_counter=collections.Counter([ dse.RolledDouse( douse=Douse1(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ), ])) rolled_dice_pool_2 = dce_toks.RolledDicePoolWithTokens( rolled_dice_counter=collections.Counter([ dse.RolledDouse( douse=Douse2(), symbol=Sym1(), ), dse.RolledDouse( douse=Douse1(), symbol=Sym2(), ), ]), tokens=toks.Tokens.from_tokens_list([ tok.Token(), tok.Token(), ])) rolled_dice = rolled_dice_pool_1 + rolled_dice_pool_2 assert len(rolled_dice.rolled_dice_counter) == 3 assert len(rolled_dice.tokens) == 2 rolled_dice = rolled_dice_pool_2 + rolled_dice_pool_1 assert len(rolled_dice.tokens) == 2 rolled_dice = rolled_dice_pool_2 + rolled_dice_pool_2 assert len(rolled_dice.tokens) == 4
def test_douse__should_implement_equal(): assert Douse1() == Douse1() assert Douse1() != Douse2()