Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
["mm", "m"],
default_unit="m",
default_value=15.5,
min_value=-6e-10,
max_value=2e5,
is_min_exclusive=True,
is_max_exclusive=False,
caption="My Length",
)
assert unit_database.GetDefaultValue("my length") == 15.5
assert unit_database.GetDefaultUnit("my length") == "m"
assert sorted(list(unit_database.IterCategories())) == ["length", "my length"]
quantity = ObtainQuantity("m", "my length")
formatted_value = FormatFloat("%g", -6e-010)
with pytest.raises(
QuantityValidationError,
match="Invalid value for My Length: %s. Must be > %s." % (formatted_value, formatted_value),
) as exc_info:
quantity.CheckValue(-6e-10)
e = exc_info.value
assert e.message == "Invalid value for My Length: {}. Must be > {}.".format(
formatted_value, formatted_value
)
assert e.caption == "My Length"
assert e.value == float(formatted_value)
assert e.operator == ">"
assert e.value == float(formatted_value)
quantity.CheckValue(0) # without specifying unit
mm_quantity = ObtainQuantity("mm", "my length")
"""
assert FormatFloat("%g", 0.0) == "0"
assert FormatFloat("%g", -0.0) == "0"
scalar = Scalar("length", 0.0, "m")
assert FormatFloat("%g", scalar.GetValue()) == "0"
assert locale.format_string("%g", scalar.GetValue("ft")) == "-0"
assert FormatFloat("%g", scalar.GetValue("ft")) == "0"
# Large float numbers on integer format.
large_float_number = 1e010 * 1.0
assert FormatFloat("%d", large_float_number) == "10000000000"
# Infinity
assert FormatFloat("%.3g", PLUS_INFINITY) == "+INF"
assert FormatFloat("%.3g", MINUS_INFINITY) == "-INF"
assert FormatFloat("%.3g", NAN) == "-1.#IND"
# Digit grouping
assert FormatFloat("%.2f", 1234567, False) == "1234567.00"
assert FormatFloat("%.2f", 1234567, True) == "1234567.00"
assert locale.format_string("%g", scalar.GetValue("ft")) == "-0"
assert FormatFloat("%g", scalar.GetValue("ft")) == "0"
# Large float numbers on integer format.
large_float_number = 1e010 * 1.0
assert FormatFloat("%d", large_float_number) == "10000000000"
# Infinity
assert FormatFloat("%.3g", PLUS_INFINITY) == "+INF"
assert FormatFloat("%.3g", MINUS_INFINITY) == "-INF"
assert FormatFloat("%.3g", NAN) == "-1.#IND"
# Digit grouping
assert FormatFloat("%.2f", 1234567, False) == "1234567.00"
assert FormatFloat("%.2f", 1234567, True) == "1234567.00"
assert FormatFloat("%g", -0.0) == "0"
scalar = Scalar("length", 0.0, "m")
assert FormatFloat("%g", scalar.GetValue()) == "0"
assert locale.format_string("%g", scalar.GetValue("ft")) == "-0"
assert FormatFloat("%g", scalar.GetValue("ft")) == "0"
# Large float numbers on integer format.
large_float_number = 1e010 * 1.0
assert FormatFloat("%d", large_float_number) == "10000000000"
# Infinity
assert FormatFloat("%.3g", PLUS_INFINITY) == "+INF"
assert FormatFloat("%.3g", MINUS_INFINITY) == "-INF"
assert FormatFloat("%.3g", NAN) == "-1.#IND"
# Digit grouping
assert FormatFloat("%.2f", 1234567, False) == "1234567.00"
assert FormatFloat("%.2f", 1234567, True) == "1234567.00"
def testFormatFloat():
"""
Convert unit of scalar where value is "0.0".
"""
assert FormatFloat("%g", 0.0) == "0"
assert FormatFloat("%g", -0.0) == "0"
scalar = Scalar("length", 0.0, "m")
assert FormatFloat("%g", scalar.GetValue()) == "0"
assert locale.format_string("%g", scalar.GetValue("ft")) == "-0"
assert FormatFloat("%g", scalar.GetValue("ft")) == "0"
# Large float numbers on integer format.
large_float_number = 1e010 * 1.0
assert FormatFloat("%d", large_float_number) == "10000000000"
# Infinity
assert FormatFloat("%.3g", PLUS_INFINITY) == "+INF"
assert FormatFloat("%.3g", MINUS_INFINITY) == "-INF"
assert FormatFloat("%.3g", NAN) == "-1.#IND"
def testFormatFloat():
"""
Convert unit of scalar where value is "0.0".
"""
assert FormatFloat("%g", 0.0) == "0"
assert FormatFloat("%g", -0.0) == "0"
scalar = Scalar("length", 0.0, "m")
assert FormatFloat("%g", scalar.GetValue()) == "0"
assert locale.format_string("%g", scalar.GetValue("ft")) == "-0"
assert FormatFloat("%g", scalar.GetValue("ft")) == "0"
# Large float numbers on integer format.
large_float_number = 1e010 * 1.0
assert FormatFloat("%d", large_float_number) == "10000000000"
# Infinity
assert FormatFloat("%.3g", PLUS_INFINITY) == "+INF"
assert FormatFloat("%.3g", MINUS_INFINITY) == "-INF"
assert FormatFloat("%.3g", NAN) == "-1.#IND"
def testFormatFloat():
"""
Convert unit of scalar where value is "0.0".
"""
assert FormatFloat("%g", 0.0) == "0"
assert FormatFloat("%g", -0.0) == "0"
scalar = Scalar("length", 0.0, "m")
assert FormatFloat("%g", scalar.GetValue()) == "0"
assert locale.format_string("%g", scalar.GetValue("ft")) == "-0"
assert FormatFloat("%g", scalar.GetValue("ft")) == "0"
# Large float numbers on integer format.
large_float_number = 1e010 * 1.0
assert FormatFloat("%d", large_float_number) == "10000000000"
# Infinity
assert FormatFloat("%.3g", PLUS_INFINITY) == "+INF"
assert FormatFloat("%.3g", MINUS_INFINITY) == "-INF"
assert FormatFloat("%.3g", NAN) == "-1.#IND"
# Digit grouping
assert FormatFloat("%.2f", 1234567, False) == "1234567.00"
assert FormatFloat("%.2f", 1234567, True) == "1234567.00"
def testFormatFloat():
"""
Convert unit of scalar where value is "0.0".
"""
assert FormatFloat("%g", 0.0) == "0"
assert FormatFloat("%g", -0.0) == "0"
scalar = Scalar("length", 0.0, "m")
assert FormatFloat("%g", scalar.GetValue()) == "0"
assert locale.format_string("%g", scalar.GetValue("ft")) == "-0"
assert FormatFloat("%g", scalar.GetValue("ft")) == "0"
# Large float numbers on integer format.
large_float_number = 1e010 * 1.0
assert FormatFloat("%d", large_float_number) == "10000000000"
# Infinity
assert FormatFloat("%.3g", PLUS_INFINITY) == "+INF"
assert FormatFloat("%.3g", MINUS_INFINITY) == "-INF"
assert FormatFloat("%.3g", NAN) == "-1.#IND"
# Digit grouping
assert FormatFloat("%.2f", 1234567, False) == "1234567.00"
assert FormatFloat("%.2f", 1234567, True) == "1234567.00"
def __str__(self):
from barril.basic.format_float import FormatFloat
return FormatFloat("%g", self.numerator) + "/" + FormatFloat("%g", self.denominator)
:param str unit:
The unit in which the value should be gotten.
:param str value_format:
If not None (default), replaces the default value_format defined in
Scalar.FORMATTED_VALUE_FORMAT
:rtype: str
:returns:
A string with the value of this scalar formatted.
"""
from barril.basic.format_float import FormatFloat
if value_format is None:
value_format = self.FORMATTED_VALUE_FORMAT
return FormatFloat(value_format, self.GetValue(unit))