code: def testCanberraDistance(self):
      assertion.eq(0.0, metric.canberra_distance([0], [0]))
      assertion.eq(
          0.0,
          metric.canberra_distance_numpy(
              numpy.array([0]), numpy.array([0])
          ),
      )
      assertion.eq(
          2.0, metric.canberra_distance([0.0, 0.0], [1.0, 1.0])
      )
      assertion.eq(
          2.0,
          metric.canberra_distance_numpy(
              numpy.array([0.0, 0.0]), numpy.array([1.0, 1.0])
          ),
      )
      assertion.eq(
          1.0, metric.canberra_distance([0.75, 0.75], [0.25, 0.25])
      )
      assertion.eq(
          1.0,
          metric.canberra_distance_numpy(
              numpy.array([0.75, 0.75]), numpy.array([0.25, 0.25])
          ),
      )
      assertion.eq(
          0.0, metric.canberra_distance([-1.0, -1.0], [-1.0, -1.0])
      )
      assertion.eq(
          0.0,
          metric.canberra_distance_numpy(
              numpy.array([-1.0, -1.0]), numpy.array([-1.0, -1.0])
          ),
      )
      assertion.eq(
          0.4, metric.canberra_distance([-2.0, -2.0], [-3.0, -3.0])
      )
      assertion.eq(
          0.4,
          metric.canberra_distance_numpy(
              numpy.array([-2.0, -2.0]), numpy.array([-3.0, -3.0])
          ),
      )
  
file_path: pyclustering/pyclustering/utils/tests/unit/ut_metric.py
imports: import unittest
  import matplotlib
  import numpy
  from pyclustering.tests.assertion import assertion
  import pyclustering.utils.metric
label_desc: Use image node_id 7 for calling the MetricUnitTest obj's underlying member method code with example usage: obj.testCanberraDistance() without return types