मैं किसी भी सूची में चलने वाले निष्कर्षण नामक फ़ंक्शन का परीक्षण कर रहा हूं।टेस्ट करें। त्वरित जांच। बैच परीक्षण सूची कार्यों के लिए डिफ़ॉल्ट प्रकार का उपयोग करें
extractions :: [a] -> [(a,[a])]
extractions [] = []
extractions l = extract l []
where extract [] _ = []
extract (x:xs) prev = (x, prev++xs) : extract xs (x : prev)
मैं, यह परीक्षण करने के लिए
import Test.QuickCheck.Batch
prop_len l = length l == length (extractions l)
main = runTests "extractions" defOpt [run prop_len]
साथ उदाहरण के लिए, चाहते हैं लेकिन इस संकलन नहीं होगा; मुझे run
या prop_len
के लिए एक प्रकार की आपूर्ति करना है, क्योंकि क्विक चेक [a]
उत्पन्न नहीं कर सकता है, इसे कुछ ठोस उत्पन्न करना है।
main = runTests "extractions" defOpt [r prop_len]
where r = run :: ([Int] -> Bool) -> TestOptions -> IO TestResult
वहाँ किसी भी तरह से QuickCheck मेरे लिए a
का चयन करने के बजाय इसे run
के प्रकार में निर्दिष्ट होने पाने के लिए है: तो मैं Int
चुना?