gimp/libgimp/tests/test-unit.py

86 lines
2.5 KiB
Python

#!/usr/bin/env python3
N_DEFAULT_USER_UNITS=6
gimp_unit_defs = [
# pseudo unit
{
'factor': 0.0,
'digits': 0,
'name': "pixels",
'symbol': "px",
'abbreviation': "px"
},
# standard units
{
'factor': 1.0,
'digits': 2,
'name': "inches",
'symbol': "''",
'abbreviation': "in"
},
{
'factor': 25.4,
'digits': 1,
'name': "millimeters",
'symbol': "mm",
'abbreviation': "mm"
},
# professional units
{
'factor': 72.0,
'digits': 0,
'name': "points",
'symbol': "pt",
'abbreviation': "pt"
},
{
'factor': 6.0,
'digits': 1,
'name': "picas",
'symbol': "pc",
'abbreviation': "pc"
}
]
unit = Gimp.Unit.inch()
gimp_assert('Gimp.Unit.inch()', type(unit) == Gimp.Unit)
unit2 = Gimp.Unit.inch()
gimp_assert('Gimp.Unit.inch() always returns an unique object', unit == unit2)
for i in range(len(gimp_unit_defs)):
unit = Gimp.Unit.get_by_id(i)
unitdef = gimp_unit_defs[i]
gimp_assert('Testing built-in unit {}'.format(i),
type(unit) == Gimp.Unit and \
unit.get_name() == unitdef['name'] and \
unit.get_symbol() == unitdef['symbol'] and \
unit.get_abbreviation() == unitdef['abbreviation'] and \
unit.get_factor() == unitdef['factor'] and \
unit.get_digits() == unitdef['digits'])
if i == Gimp.UnitID.INCH:
gimp_assert('Gimp.Unit.inch() is the same as Gimp.Unit.get_by_id (Gimp.UnitID.INCH)',
unit == unit2)
unit = Gimp.Unit.get_by_id(Gimp.UnitID.END)
n_user_units = 0
while unit is not None:
n_user_units += 1
unit = Gimp.Unit.get_by_id(Gimp.UnitID.END + n_user_units)
gimp_assert('Counting default user units', n_user_units == N_DEFAULT_USER_UNITS)
unit2 = Gimp.Unit.new ("name", 2.0, 1, "symbol", "abbreviation");
gimp_assert('Gimp.Unit.new()', type(unit2) == Gimp.Unit)
gimp_assert("Verifying the new user unit's ID", unit2.get_id() == Gimp.UnitID.END + n_user_units)
gimp_assert("Verifying the new user unit's unicity", unit2 == Gimp.Unit.get_by_id(Gimp.UnitID.END + n_user_units))
unit = Gimp.Unit.get_by_id(Gimp.UnitID.END)
n_user_units = 0
while unit is not None:
n_user_units += 1
unit = Gimp.Unit.get_by_id(Gimp.UnitID.END + n_user_units)
gimp_assert('Counting again user units', n_user_units == N_DEFAULT_USER_UNITS + 1)