Example #1
0
    def test_GIVEN_a_block_with_an_arbitrary_object_as_its_value_THEN_when_formatted_to_prec_3_it_is_returned_unchanged(
            self):
        value = object()
        expected_formatted_value = str(value)

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #2
0
    def test_GIVEN_a_block_with_a_number_that_does_not_fit_in_a_float_WHEN_formatted_to_prec_3_THEN_it_is_formatted_as_infinity(
            self):
        value = "5" * 10000
        expected_formatted_value = "INF"

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #3
0
    def test_GIVEN_a_block_with_a_large_negative_value_WHEN_formatted_to_prec_3_THEN_it_is_returned_in_exponential_notation_to_3_sf(
            self):
        value = "-12340000000000000"
        expected_formatted_value = "-1.23E+16"

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #4
0
    def test_GIVEN_a_block_with_a_negative_INF_value_WHEN_formatted_to_prec_3_THEN_it_is_returned_unchanged(
            self):
        value = "-INF"
        expected_formatted_value = value

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #5
0
    def test_GIVEN_a_block_with_a_medium_size_negative_value_WHEN_formatted_to_prec_3_THEN_it_is_returned_to_3_dp(
            self):
        value = "-327"
        expected_formatted_value = "-327.000"

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #6
0
    def test_GIVEN_a_block_with_a_small_negative_value_WHEN_formatted_to_prec_3_THEN_it_is_returned_in_exponential_notation_to_3_sf(
            self):
        value = "-0.0000000567"
        expected_formatted_value = "-5.67E-08"

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #7
0
    def test_GIVEN_a_block_with_a_medium_size_value_THEN_when_formatted_to_prec_0_THEN_it_is_returned_unchanged(
            self):
        value = "327"
        expected_formatted_value = value

        self.assertEqual(format_block_value(value, 0),
                         expected_formatted_value)
Example #8
0
    def test_GIVEN_a_block_with_a_zero_value_WHEN_formatted_with_prec_3_THEN_it_is_returned_to_3_dp(
            self):
        value = "0.0"
        expected_formatted_value = "0.000"

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #9
0
    def test_GIVEN_a_block_with_a_non_numeric_value_WHEN_formatted_with_no_prec_THEN_it_is_returned_unchanged(
            self):
        value = "this is a string"
        expected_formatted_value = value

        self.assertEqual(format_block_value(value, None),
                         expected_formatted_value)
Example #10
0
    def get_description(self):
        """ Returns the full description of this BoolStr object. """

        if self.should_format_value():
            value = format_block_value(self.value, self.precision)
        else:
            value = self.value

        if self.units == u"":
            formatted_value = u"{}".format(value)
        else:
            formatted_value = u"{value} {units}".format(value=value, units=self.units)

        ans = {
            "status": self.status,
            "value": formatted_value,
            "alarm": self.alarm,
            "visibility": self.visibility
        }

        if RETURN_RC_VALUES:
            # add rc values if they're set
            if self.low is not None:
                ans["rc_low"] = self.low

            if self.high is not None:
                ans["rc_high"] = self.high

            if self.inrange is not None:
                ans["rc_inrange"] = self.inrange

            ans["rc_enabled"] = self.enabled

        return ans
Example #11
0
    def test_GIVEN_a_block_with_a_negative_zero_value_WHEN_formatted_to_prec_3_THEN_it_is_returned_to_3_dp(
            self):
        # Python does have a concept of "-0" so this is a test worth doing.
        value = "-0.0"
        expected_formatted_value = "-0.000"

        self.assertEqual(format_block_value(value, 3),
                         expected_formatted_value)
Example #12
0
    def test_GIVEN_nonsense_precision_containing_unicode_WHEN_formatting_THEN_original_value_returned_unchanged(
            self):
        precision = u"ƀ Ɓ Ƃ ƃ Ƅ ƅ Ɔ Ƈ ƈ Ɖ Ɗ Ƌ ƌ ƍ Ǝ Ə Ɛ Ƒ ƒ Ɠ Ɣ ƕ Ɩ Ɨ Ƙ ƙ ƚ ƛ Ɯ Ɲ ƞ Ɵ Ơ ơ Ƣ ƣ Ƥ ƥ Ʀ Ƨ ƨ Ʃ ƪ ƫ Ƭ ƭ Ʈ"
        value = "12.345"

        self.assertEqual(format_block_value(value, precision), value)
Example #13
0
    def test_GIVEN_nonsense_precision_WHEN_formatting_THEN_original_value_returned_unchanged(
            self):
        precision = "this is clearly not a valid precision"
        value = "12.345"

        self.assertEqual(format_block_value(value, precision), value)
Example #14
0
    def test_GIVEN_negative_precision_WHEN_formatting_THEN_original_value_returned_unchanged(
            self):
        precision = -57
        value = "12.345"

        self.assertEqual(format_block_value(value, precision), value)
Example #15
0
    def test_GIVEN_arbitrary_object_as_precision_WHEN_formatting_THEN_original_value_returned_unchanged(
            self):
        precision = object()
        value = "12.345"

        self.assertEqual(format_block_value(value, precision), value)