fixes tests, adds a more adequate komplizierteFunktion to A3

This commit is contained in:
BergesJ 2017-05-09 00:28:48 +02:00
parent ab40846aae
commit 5c0c93b38c
8 changed files with 31 additions and 25 deletions

View File

@ -97,7 +97,7 @@ getAdressM ds = do
return (Adress name street pcode city)
getPublicM :: [Datum] -> Maybe Public
getPublicM ds = undefined
getPublicM ds = getName ds >>= \name -> return (Public name (getAge ds) (getEmail ds))
-- Implementieren Sie nun zwei Funktionen `getAdressA` und `getPublicDataA`, die das gleiche tun,

View File

@ -97,7 +97,7 @@ zurück.
> return (Adress name street pcode city)
> getPublicM :: [Datum] -> Maybe Public
> getPublicM ds = undefined
> getPublicM ds = getName ds >>= \name -> return (Public name (getAge ds) (getEmail ds))
Implementieren Sie nun zwei Funktionen `getAdressA` und `getPublicDataA`, die das gleiche tun,

View File

@ -24,7 +24,7 @@ berechnungMitEingabe x y z w = undefined
-- Eingabeparameter-Tupel zusammen mit dem möglichst maximalen Ergebnis zurückgibt.
nBesteEingaben :: Int -> Double -> [(Double,(Double,Double,Double,Double))]
nBesteEingaben n d = take n $ sortOn (undefined) $ undefined
nBesteEingaben n d = undefined -- Beginne mit: take n $ sortOn (undefined) $ undefined
where range = [(-10),(-(10-d))..10]
result = show $ nBesteEingaben 10 1

View File

@ -24,7 +24,7 @@ Definieren mithilfe von `berechnungMitEingabe` eine Funktion `nBesteEingaben`, w
Eingabeparameter-Tupel zusammen mit dem möglichst maximalen Ergebnis zurückgibt.
> nBesteEingaben :: Int -> Double -> [(Double,(Double,Double,Double,Double))]
> nBesteEingaben n d = take n $ sortOn (undefined) $ undefined
> nBesteEingaben n d = undefined --Beginne mit: take n $ sortOn (undefined) $ undefined
> where range = [(-10),(-(10-d))..10]
> result = show $ nBesteEingaben 10 1

View File

@ -43,25 +43,16 @@ data Landname = Frankreich
data Land = Land Landname [Landname]
deriving (Show,Eq)
defaultMap = [ Land Frankreich [Spanien, Italien, Schweiz, Deutschland, Luxemburg]
defaultMap = [ Land Frankreich [Schweiz, Deutschland, Luxemburg]
, Land Deutschland [Frankreich, Schweiz, Oesterreich, Luxemburg, Polen, Niederlande, Belgien, Tschechien]
, Land Niederlande [Deutschland, Belgien]
, Land Grossbritannien [Irland]
, Land Belgien [Frankreich, Deutschland, Luxemburg]
, Land Polen [Slowakei, Tschechien, Deutschland]
, Land Oesterreich [Italien, Schweiz, Deutschland, Slowakei, Liechtenstein, Slowenien, Ungarn, Tschechien]
, Land Ungarn [Oesterreich, Slowenien, Slowakei,Deutschland ]
, Land Island [Schweiz]
, Land Schweiz [Frankreich, Italien, Oesterreich, Deutschland]
, Land Polen [Tschechien, Deutschland]
, Land Oesterreich [Schweiz, Deutschland, Tschechien]
, Land Schweiz [Frankreich, Oesterreich, Deutschland]
, Land Island []
, Land Luxemburg [Frankreich, Deutschland]
, Land Irland [Grossbritannien]
, Land Italien [Frankreich, Schweiz, Oesterreich, Slowenien ]
, Land Portugal [Spanien]
, Land Spanien [Frankreich, Spanien]
, Land Slowenien [Italien, Oesterreich, Ungarn ]
, Land Liechtenstein [Schweiz, Oesterreich]
, Land Slowakei [Oesterreich, Ungarn, Tschechien]
, Land Tschechien [Oesterreich, Slowakei, Polen, Deutschland ]
, Land Tschechien [Oesterreich, Polen, Deutschland ]
]
-- Schreiben Sie eine Funktion `gültig :: (Farbe,Land) -> [(Farbe, Land)] -> Bool`,

View File

@ -2,4 +2,4 @@ module Hui
( komplizierteFunktion
) where
komplizierteFunktion x y z w = w * exp(x*y - z)
komplizierteFunktion x y z w = 1/exp (abs (x- 2.3))^2 * sin( (y- 2.9))^2+cos( (0.4*z- 2.6))^5 *(2*z)^2-(2*z- 2.6)^2+ (25-log(abs (w- 0.6)+1))

View File

@ -5,7 +5,16 @@ import Test.Framework.Providers.HUnit (testCase)
import Test.Framework.Runners.Console (defaultMain)
import Test.HUnit
testData = [(72.47984345237802,(2.0,-5.0,7.0,1.0)),(72.4760070010783,(2.0,-8.0,7.0,1.0)),(72.46191340940976,(2.0,-2.0,7.0,1.0)),(72.42364516911707,(2.0,1.0,7.0,1.0)),(72.40259767762782,(2.0,8.0,7.0,1.0)),(72.36808715758247,(2.0,4.0,7.0,1.0)),(72.34631205975349,(2.0,-5.0,7.0,0.0)),(72.34247560845377,(2.0,-8.0,7.0,0.0)),(72.34112944881682,(2.0,5.0,7.0,1.0)),(72.32838201678523,(2.0,-2.0,7.0,0.0))]
{- TEST CASES-}
nBesteEingabeTest = testCase "Teste `nBesteEingabe`"
$ assertEqual "Teste `nBesteEingabe 10 1` == hard coded test data " (testData)
$ nBesteEingaben 10 1
tests = [nBesteEingabeTest]
main :: IO ()
main = putStrLn $ "Für Aufgabe 3 liegen noch keine Tests vor"
main = defaultMain tests

View File

@ -5,12 +5,18 @@ import Test.Framework.Runners.Console (defaultMain)
import Test.HUnit
testData = [(Rot,Land Frankreich [Schweiz,Deutschland,Luxemburg]),(Gruen,Land Deutschland [Frankreich,Schweiz,Oesterreich,Luxemburg,Polen,Niederlande,Belgien,Tschechien]),(Rot,Land Niederlande [Deutschland,Belgien]),(Gelb,Land Belgien [Frankreich,Deutschland,Luxemburg]),(Rot,Land Polen [Tschechien,Deutschland]),(Rot,Land Oesterreich [Schweiz,Deutschland,Tschechien]),(Gelb,Land Schweiz [Frankreich,Oesterreich,Deutschland]),(Rot,Land Island []),(Blau,Land Luxemburg [Frankreich,Deutschland]),(Gelb,Land Tschechien [Oesterreich,Polen,Deutschland])]
einfaerbenATest = testCase "Teste einfaerbenA"
$ assertEqual "take 2 `einfaerbenM defaultMap` und take 2 `einfaerbenA defaultMap` sollten die gleichen Färbungen ausgeben" (take 2 $ einfaerbenM defaultMap)
$ (take 2 $ einfaerbenA defaultMap)
tests = [einfaerbenATest]
einfaerbenMTest = testCase "Teste `einfaerbenM`"
$ assertEqual "Teste `head einfaerbenM defaultMap` == hard coded test data" (testData)
$ (head $ einfaerbenM defaultMap)
einfaerbenLCTest = testCase "Teste `einfaerbenLC`"
$ assertEqual "Teste `head einfaerbenLC defaultMap` == hard coded test data" (testData)
$ (head $ einfaerbenLC defaultMap)
tests = [einfaerbenMTest,einfaerbenLCTest]
main :: IO ()
main = defaultMain tests