Тесты для первой функции

This commit is contained in:
2024-11-29 19:26:04 +03:00
parent 1aa359b5c1
commit 7ccdb8346e
3 changed files with 22 additions and 2 deletions

View File

@@ -62,6 +62,7 @@ test-suite lab4-test
test test
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
build-depends: build-depends:
base >=4.7 && <5 QuickCheck
, base >=4.7 && <5
, lab4 , lab4
default-language: Haskell2010 default-language: Haskell2010

View File

@@ -57,3 +57,4 @@ tests:
- -with-rtsopts=-N - -with-rtsopts=-N
dependencies: dependencies:
- lab4 - lab4
- QuickCheck

View File

@@ -1,2 +1,20 @@
import Test.QuickCheck
import Lib (isCongruent)
propCongruentDifference :: Int -> Int -> Int -> Property
propCongruentDifference a b m =
m /= 0 ==> isCongruent a b m == ((a - b) `mod` m == 0)
propCongruentSymmetric :: Int -> Int -> Int -> Property
propCongruentSymmetric a b m =
m /= 0 ==> isCongruent a b m == isCongruent b a m
propCongruentEqualNumbers :: Int -> Int -> Property
propCongruentEqualNumbers a m =
m /= 0 ==> isCongruent a a m == True
main :: IO () main :: IO ()
main = putStrLn "Test suite not yet implemented" main = do
quickCheck propCongruentDifference
quickCheck propCongruentSymmetric
quickCheck propCongruentEqualNumbers