text: # -*- coding: utf-8 -*-
  # Copyright (c) 2019 Ansible Project
  # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
  
  from __future__ import absolute_import, division, print_function
  __metaclass__ = type
  
  import pytest
  
  from ansible.module_utils._text import to_native
  from ansible.module_utils.common.validation import check_type_float
  
  
  def test_check_type_float():
      test_cases = (
          ('1.5', 1.5),
          ('''1.5''', 1.5),
          (u'1.5', 1.5),
          (1002, 1002.0),
          (1.0, 1.0),
          (3.141592653589793, 3.141592653589793),
          ('3.141592653589793', 3.141592653589793),
          (b'3.141592653589793', 3.141592653589793),
      )
      for case in test_cases:
          assert case[1] == check_type_float(case[0])
  
  
  def test_check_type_float_fail():
      test_cases = (
          {'k1': 'v1'},
          ['a', 'b'],
          'b',
      )
      for case in test_cases:
          with pytest.raises(TypeError) as e:
              check_type_float(case)
          assert 'cannot be converted to a float' in to_native(e.value)
  