如何使用Gloss库中的RGBA构造函数为图片生成测试用例?

时间:2017-03-01 13:25:47

标签: haskell gloss

我正在尝试使用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

任何人都有任何想法如何为我的功能编写测试用例?

1 个答案:

答案 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可能会更改,或者界面可能在某种程度上不安全(例如:不维护不变量)。

相关问题