0

我有一个功能:

from django.contrib.gis.measure import Distance, D

def RunLengthCalc(mod_ewdim, mod_ewspacing, cols):
    y = D(inch=mod_ewspacing)  # user input
    x = D(inch=mod_ewdim)  # user input
    z = D(inch=3)  # constant
    lrun = ((x * cols) + (y * (cols - 1))) + zrun
    return lrun

和我的测试:

def test_run_length_calculation(self):
    l = RunLengthCalc(26.5, 1, 25)
    self.assertEquals(l, D(inch=689.5))

但是当我运行测试时,我得到了这个非常混乱的错误:

AssertionError: Distance(inch=689.5) != Distance(inch=689.5)

我无法弄清楚这里有什么问题。

任何帮助将非常感激。

4

1 回答 1

1

距离类平等的实际实现方式似乎有一些有趣的事情:

https://github.com/django/django/blob/master/django/contrib/gis/measure.py#L87

阅读该代码,看起来你应该工作......但显然它没有。

我怀疑您可以通过比较特定的单位值来解决您的问题,如下所示:

self.assertEquals(l.inch, D(inch=689.5).inch)

于 2012-10-25T23:55:53.827 回答