我正在尝试使用Haskell中的HUnit为使用Gloss Graphics库的函数编写一些测试用例。
功能:
makePicture :: Color -> Picture
makePicture c = Color c $ Circle 80
如果我在控制台中使用参数“black”显示对此函数的调用,您会看到如下内容:
Color (RGBA 0.0 0.0 0.0 1.0) (Circle 80.0)
具有图片类型。我的问题是如何为这样的事情正确编写测试用例?
如果我尝试编写类似的测试,则会出现问题:
test = TestCase $ assertEqual "makePicture" (Color (RGBA 0.0 0.0 0.0 1.0) (Circle 80.0)) (makePicture black)
它无法编译,因为它说明如下:
error: Data constructor not in scope: RGBA
任何人都有任何想法如何为我的功能编写测试用例?
答案 0 :(得分:2)
我不知道你在哪里获得for checkboxes in soup.find_all('input', attrs={"id":"ext-comp-1609"}):
if checkboxes.find('input', attrs={"checked":True}):
label_1 = soup.find('label',{'id':'ext-gen1960'}).text
print(label_1)
else:
continue
构造函数,但是看看黑线鳕,RGBA
没有这样的构造函数。您可能需要makeColor
函数:
Color
编辑:是的,用户24 ... 38正确存在makeColor :: Float -> Float -> Float -> Float -> Color
但是在光泽I版本中,我看它是RGBA
模块的一部分而不是导出别处。作为一般规则,外部用户不应该使用Internal
模块,因为API可能会更改,或者界面可能在某种程度上不安全(例如:不维护不变量)。