Create attractive VASL scenarios, with loads of useful information embedded to assist with game play. https://vasl-templates.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
vasl-templates/vasl_templates/webapp/tests/test_utils.py

37 lines
1.3 KiB

"""Test utility functions."""
from vasl_templates.webapp.utils import friendly_fractions
# ---------------------------------------------------------------------
def test_friendly_fractions():
"""Test generating friendly fractions."""
def do_test( val, expected, singular=False ): #pylint: disable=missing-docstring
# test without a postfix
assert friendly_fractions( val ) == expected
# test the singular/plural postfixes
expected = expected+" foo" if singular else expected+" foos"
assert friendly_fractions( val, "foo", "foos" ) == expected
# do the test
do_test( 0, "0" )
do_test( 0.124, "0" )
do_test( 0.125, "¼", singular=True )
do_test( 0.374, "¼", singular=True )
do_test( 0.375, "½", singular=True )
do_test( 0.624, "½", singular=True )
do_test( 0.625, "¾", singular=True )
do_test( 0.874, "¾", singular=True )
do_test( 0.875, "1", singular=True )
do_test( 1.124, "1", singular=True )
do_test( 1.125, "1¼" )
do_test( 1.374, "1¼" )
do_test( 1.375, "1½" )
do_test( 1.624, "1½" )
do_test( 1.625, "1¾" )
do_test( 1.874, "1¾" )
do_test( 1.875, "2" )
do_test( 2.125, "2¼" )
do_test( 2.5, "2½" )
do_test( 2.75, "2¾" )