Add UE4 tests
This commit is contained in:
parent
0ff4dfb0b6
commit
b0c2e9ad5b
369
code/Test4.hs
Normal file
369
code/Test4.hs
Normal file
@ -0,0 +1,369 @@
|
||||
module Test4 where
|
||||
|
||||
import Angabe4
|
||||
import Test.Tasty
|
||||
import Test.Tasty.HUnit
|
||||
import Test.Tasty.Ingredients (composeReporters)
|
||||
import Test.Tasty.Ingredients.ConsoleReporter (consoleTestReporter)
|
||||
|
||||
main :: IO ()
|
||||
main = defaultMainWithIngredients [consoleTestReporter] spec
|
||||
|
||||
{-----TESTDATEN BEGINN-----}
|
||||
|
||||
-- Geschaeftspartner
|
||||
maxM = GP "Max" datum_1_r
|
||||
maxM2 = GP "Max" datum_2_r
|
||||
maxMar1 = GP "Max" datum_1_Mar_r
|
||||
anna = GP "Annaa" datum_2_r
|
||||
anna2 = GP "Annab" datum_2_r
|
||||
|
||||
--KBE Zahlung Normalfälle
|
||||
kbe_Zahlung_sk = (maxM2, zahlung_sk )
|
||||
kbe_Zahlung_s3 = (maxM, zahlung_s3 )
|
||||
kbe_Zahlung_s5 = (anna, zahlung_s5 )
|
||||
kbe_Zahlung_s10 = (anna, zahlung_s10 )
|
||||
kbe_Zahlung_sk_Antw = (maxM2, zahlung_sk_ap )
|
||||
kbe_Zahlung_s3_Antw = (maxM, zahlung_s3_ap )
|
||||
kbe_Zahlung_s5_Antw = (anna, zahlung_s5_ap )
|
||||
kbe_Zahlung_s10_Antw = (anna, zahlung_s10_ap )
|
||||
|
||||
k_kbe_Zahlung_sk_Antw = (maxM2, k_zahlung_sk_ap )
|
||||
k_kbe_Zahlung_s3_Antw = (maxM, k_zahlung_s3_ap )
|
||||
k_kbe_Zahlung_s5_Antw = (anna, k_zahlung_s5_ap )
|
||||
k_kbe_Zahlung_s10_Antw = (anna, k_zahlung_s10_ap )
|
||||
|
||||
zahlung_sk = Zahlung brut skonto_k datum_1_r
|
||||
zahlung_s3 = Zahlung brut skonto_3 datum_1_r
|
||||
zahlung_s5 = Zahlung brut skonto_5 datum_1_r
|
||||
zahlung_s10 = Zahlung brut skonto_10 datum_1_r
|
||||
zahlung_sk_ap = AP_Zahlung brut datum_1_r
|
||||
zahlung_s3_ap = AP_Zahlung (C (55005-1650)) datum_1_r
|
||||
zahlung_s5_ap = AP_Zahlung (C (55005-2750)) datum_1_r
|
||||
zahlung_s10_ap = AP_Zahlung (C (55005-5500)) datum_1_r
|
||||
|
||||
k_zahlung_sk_ap = K_Zahlung (EC 550 5) datum_1_r
|
||||
k_zahlung_s3_ap = K_Zahlung (EC 533 55) datum_1_r
|
||||
k_zahlung_s5_ap = K_Zahlung (EC 522 55) datum_1_r
|
||||
k_zahlung_s10_ap = K_Zahlung (EC 495 5) datum_1_r
|
||||
|
||||
k_kbe_Zahlung_sk_EC10 = (maxM, k_zahlung_sk_EC10 )
|
||||
k_zahlung_sk_EC10 = K_Zahlung (EC 10 0) datum_1_r
|
||||
k_kbe_Zahlung_sk_EC70_5 =(maxM, k_zahlung_sk_EC70_5 )
|
||||
k_zahlung_sk_EC70_5 = K_Zahlung (EC 70 5) datum_1_r
|
||||
|
||||
brut = C 55005
|
||||
gutschriftsb = C 1000
|
||||
skonto_k = KeinSkonto
|
||||
skonto_3 = DreiProzent
|
||||
skonto_5 = FuenfProzent
|
||||
skonto_10 = ZehnProzent
|
||||
|
||||
--allgemeine Gutschrift
|
||||
gutschrift1 = Gutschrift gutschriftsb datum_1_r
|
||||
gutschrift1_ap = P_Gutschrift gutschriftsb datum_1_r
|
||||
k_gutschrift1_ap = K_Gutschrift (EC 10 0) datum_1_r
|
||||
|
||||
--KBE Gutschrift Normalfall
|
||||
kbe_Gutsch = (GP "Max" datum_1_r, gutschrift1 )
|
||||
kbe_Gutsch_Antw = (GP "Max" datum_1_r, gutschrift1_ap )
|
||||
k_kbe_Gutsch_Antw = (GP "Max" datum_1_r, k_gutschrift1_ap )
|
||||
|
||||
kbe_Gutsch_2 = (maxM2, gutschrift1 )
|
||||
kbe_Gutsch_2_Antw = (maxM2, gutschrift1_ap )
|
||||
k_kbe_Gutsch_2_Antw = (maxM2, k_gutschrift1_ap )
|
||||
|
||||
kbe_Gutsch_anna1 = (anna, gutschrift1 )
|
||||
kbe_Gutsch_anna2 = (anna2, gutschrift1 )
|
||||
|
||||
|
||||
|
||||
--KBE Datum nicht richtig - Feb
|
||||
|
||||
kbe_29_Feb_NSJ_ng_d = (GP "Max" datum_1_Mar_r, gutschrift1 )
|
||||
kbe_30_Feb_ng_d = (GP "Max" datum_30_2_ng, gutschrift1 )
|
||||
kbe_31_Feb_ng_d = (GP "Max" datum_31_2_ng, gutschrift1 )
|
||||
kbe_29_Feb_SJ_ng_d = (GP "Max" datum_29_2_SJ_r, gutschrift1 )
|
||||
|
||||
kbe_1_Mar_r = (GP "Max" datum_1_Mar_r, gutschrift1_ap )
|
||||
kbe_29_Feb_SJ_r = (GP "Max" datum_29_2_SJ_r, gutschrift1_ap )
|
||||
k_kbe_1_Mar_r = (GP "Max" datum_1_Mar_r, k_gutschrift1_ap )
|
||||
k_kbe_29_Feb_SJ_r = (GP "Max" datum_29_2_SJ_r, k_gutschrift1_ap )
|
||||
|
||||
|
||||
--KBE Datum nicht richtig - 31.
|
||||
|
||||
kbe_Nov_ng_d = (GP "Max" datum_Nov_ng, gutschrift1 )
|
||||
kbe_Apr_ng_d = (GP "Max" datum_Apr_ng, gutschrift1 )
|
||||
kbe_Jun_ng_d = (GP "Max" datum_Jun_ng, gutschrift1 )
|
||||
kbe_Sep_ng_d = (GP "Max" datum_Sep_ng, gutschrift1 )
|
||||
kbe_Nov_r = (GP "Max" datum_Nov_r, gutschrift1_ap )
|
||||
kbe_Apr_r = (GP "Max" datum_Apr_r, gutschrift1_ap )
|
||||
kbe_Jun_r = (GP "Max" datum_Jun_r, gutschrift1_ap )
|
||||
kbe_Sep_r = (GP "Max" datum_Sep_r, gutschrift1_ap )
|
||||
|
||||
k_kbe_Nov_r = (GP "Max" datum_Nov_r, k_gutschrift1_ap )
|
||||
k_kbe_Apr_r = (GP "Max" datum_Apr_r, k_gutschrift1_ap )
|
||||
k_kbe_Jun_r = (GP "Max" datum_Jun_r, k_gutschrift1_ap )
|
||||
k_kbe_Sep_r = (GP "Max" datum_Sep_r, k_gutschrift1_ap )
|
||||
|
||||
|
||||
--Datum Feb
|
||||
datum_29_2_SJ_r = D XXIX Feb 2000
|
||||
datum_29_2_NSJ_ng = D XXIX Feb 2001
|
||||
datum_30_2_ng = D XXX Feb 2000
|
||||
datum_31_2_ng = D XXXI Feb 2000
|
||||
|
||||
datum_1_Mar_r = D I Mar 2000
|
||||
|
||||
|
||||
--Datum 31 falsch
|
||||
datum_Nov_ng = D XXXI Nov 2000
|
||||
datum_Apr_ng = D XXXI Apr 2000
|
||||
datum_Jun_ng = D XXXI Jun 2000
|
||||
datum_Sep_ng = D XXXI Sep 2000
|
||||
datum_Nov_r = D I Dez 2000
|
||||
datum_Apr_r = D I Mai 2000
|
||||
datum_Jun_r = D I Jul 2000
|
||||
datum_Sep_r = D I Okt 2000
|
||||
|
||||
-- Datum richtig
|
||||
datum_1_r = D I Jan 2000
|
||||
datum_2_r = D II Jun 2000
|
||||
|
||||
-- Kassabuch
|
||||
kassabuc_Guts = KB [
|
||||
kbe_Gutsch
|
||||
]
|
||||
kassabuc_Guts_Antw = KKB [
|
||||
k_kbe_Gutsch_Antw
|
||||
]
|
||||
|
||||
kassabuc_Guts_Feb = KB [
|
||||
kbe_29_Feb_NSJ_ng_d,
|
||||
kbe_30_Feb_ng_d,
|
||||
kbe_31_Feb_ng_d,
|
||||
kbe_29_Feb_SJ_ng_d
|
||||
]
|
||||
|
||||
kassabuc_Guts_Feb_Antw = KKB [
|
||||
k_kbe_1_Mar_r,
|
||||
k_kbe_1_Mar_r,
|
||||
k_kbe_1_Mar_r,
|
||||
k_kbe_29_Feb_SJ_r
|
||||
]
|
||||
|
||||
kassabuc_Guts_31 = KB [
|
||||
kbe_Nov_ng_d,
|
||||
kbe_Apr_ng_d,
|
||||
kbe_Jun_ng_d,
|
||||
kbe_Sep_ng_d
|
||||
]
|
||||
|
||||
kassabuc_Guts_31_Antw = KKB [
|
||||
k_kbe_Nov_r,
|
||||
k_kbe_Apr_r,
|
||||
k_kbe_Jun_r,
|
||||
k_kbe_Sep_r
|
||||
]
|
||||
|
||||
|
||||
kassabuc_Zahl = KB [kbe_Zahlung_sk,kbe_Zahlung_s3,
|
||||
kbe_Zahlung_s5,
|
||||
kbe_Zahlung_s10
|
||||
]
|
||||
kassabuc_Zahl_Antw = KKB [k_kbe_Zahlung_sk_Antw,k_kbe_Zahlung_s3_Antw,
|
||||
k_kbe_Zahlung_s5_Antw,
|
||||
k_kbe_Zahlung_s10_Antw
|
||||
]
|
||||
|
||||
--KKB fuer saldo
|
||||
kassabuc_kein_Geschaftsb = KKB [
|
||||
k_kbe_Zahlung_sk_Antw --GP maxM2
|
||||
]
|
||||
|
||||
kassabuc_Ausgeglichen = KKB [
|
||||
k_kbe_Zahlung_sk_Antw, --GP maxM2 (not counting)
|
||||
k_kbe_Zahlung_sk_EC10, --EC -10
|
||||
k_kbe_Gutsch_Antw --EC +10
|
||||
]
|
||||
|
||||
kassabuc_Forderungssaldo_50 = KKB [
|
||||
k_kbe_Zahlung_sk_Antw, --GP maxM2 (not counting)
|
||||
k_kbe_Gutsch_Antw,
|
||||
k_kbe_Gutsch_Antw,
|
||||
k_kbe_Gutsch_Antw,
|
||||
k_kbe_Gutsch_Antw,
|
||||
k_kbe_Gutsch_Antw
|
||||
]
|
||||
kassabuc_Zahlungssaldo_100_5 = KKB [
|
||||
k_kbe_Zahlung_sk_Antw, --GP maxM2 (not counting)
|
||||
k_kbe_Zahlung_sk_EC10,
|
||||
k_kbe_Zahlung_sk_EC10,
|
||||
k_kbe_Zahlung_sk_EC10,
|
||||
k_kbe_Zahlung_sk_EC70_5
|
||||
]
|
||||
|
||||
|
||||
-- KB + SKB fuer saldiere
|
||||
kassab_lexikographisch_einfach = KB [
|
||||
kbe_Gutsch_anna2,--anna2
|
||||
kbe_Gutsch_anna2,--anna2
|
||||
-- anna2 Gutschrift +20
|
||||
|
||||
kbe_Gutsch_anna1 --anna +10
|
||||
-- anna Zahlung 917 60
|
||||
]
|
||||
|
||||
sKB_lexikographisch_einfach = SKB [
|
||||
(anna, Forderungssaldo (EC 10 0)),
|
||||
(anna2, Forderungssaldo (EC 20 0))
|
||||
]
|
||||
|
||||
|
||||
kassab_lexikographisch = KB [
|
||||
kbe_Gutsch_anna1, --anna +10
|
||||
kbe_Zahlung_s5, --anna -522 55
|
||||
kbe_Zahlung_s10, --anna -495 5
|
||||
-- anna Zahlung 1007 60
|
||||
|
||||
kbe_Gutsch_anna2--anna2
|
||||
-- anna2 Gutschrift +10
|
||||
]
|
||||
sKB_lexikographisch = SKB [
|
||||
(anna, Zahlungssaldo (EC 1007 60)),
|
||||
(anna2, Forderungssaldo (EC 10 0))
|
||||
]
|
||||
|
||||
kassab_lexikographisch_datum_vergl = KB [
|
||||
kbe_Gutsch_2, --maxM2, +10 Datum OK
|
||||
kbe_Zahlung_sk, -- maxM2 -550 5 Datum OK
|
||||
-- maxM2(2.Juni) Zahl 540 5
|
||||
|
||||
kbe_29_Feb_NSJ_ng_d, --MaxMar1 +10 Datum NOK
|
||||
kbe_30_Feb_ng_d,--MaxMar1 +10 Datum NOK
|
||||
kbe_31_Feb_ng_d--MaxMar1 +10 Datum NOK
|
||||
-- maxMar1 Gutschrift 30 0
|
||||
]
|
||||
|
||||
sKB_lexikographisch_datum_vergl = SKB [
|
||||
(maxMar1, Forderungssaldo (EC 30 0)),
|
||||
(maxM2, Zahlungssaldo (EC 540 5))
|
||||
]
|
||||
|
||||
|
||||
{-----TESTDATEN ENDE-----}
|
||||
|
||||
|
||||
spec :: TestTree
|
||||
spec =
|
||||
testGroup
|
||||
"Test2 Spec"
|
||||
[
|
||||
a1_waup_tests,
|
||||
a2_konsolidiere_tests,
|
||||
a3_saldo_tests,
|
||||
a4_saldiere_tests
|
||||
]
|
||||
|
||||
a1_waup_tests :: TestTree
|
||||
a1_waup_tests =
|
||||
testGroup
|
||||
"-----A1 waup Tests-----"
|
||||
[
|
||||
-- NF Gutschrift
|
||||
testCase "(GP OK, Gutschrift OK)" $
|
||||
waup kbe_Gutsch @?= kbe_Gutsch_Antw,
|
||||
-- Feb test cases Gutschrift
|
||||
testCase "(GP -Datum NOK, Gutschrift OK) - Feb 31-> Mar 1" $
|
||||
waup kbe_31_Feb_ng_d @?= kbe_1_Mar_r,
|
||||
testCase "(GP -Datum NOK, Gutschrift OK) - Feb 30-> Mar 1" $
|
||||
waup kbe_30_Feb_ng_d @?= kbe_1_Mar_r,
|
||||
testCase "(GP -Datum NOK, Gutschrift OK) - Feb 29-> Mar 1" $
|
||||
waup kbe_29_Feb_NSJ_ng_d @?= kbe_1_Mar_r,
|
||||
testCase "(GP -Datum OK, Gutschrift OK)- Feb 29 -> Feb 29" $
|
||||
waup kbe_29_Feb_SJ_ng_d @?= kbe_29_Feb_SJ_r,
|
||||
|
||||
-- 31. test cases Gutschrift
|
||||
testCase "(GP -Datum NOK, Gutschrift OK) - Nov 31-> Dez 1" $
|
||||
waup kbe_Nov_ng_d @?= kbe_Nov_r,
|
||||
testCase "(GP -Datum NOK, Gutschrift OK)- Sep 31-> Okt 1" $
|
||||
waup kbe_Sep_ng_d @?= kbe_Sep_r,
|
||||
testCase "(GP -Datum NOK, Gutschrift OK)- Jun 31-> Jul 1" $
|
||||
waup kbe_Jun_ng_d @?= kbe_Jun_r,
|
||||
testCase "(GP -Datum NOK, Gutschrift OK) - Apr 31-> Apr 1" $
|
||||
waup kbe_Apr_ng_d @?= kbe_Apr_r,
|
||||
|
||||
-- NF Zahlung
|
||||
testCase "(GP OK, Zahlung (skonto keins) OK)" $
|
||||
waup kbe_Zahlung_sk @?= kbe_Zahlung_sk_Antw,
|
||||
testCase "(GP OK, Zahlung (skonto 3) OK)" $
|
||||
waup kbe_Zahlung_s3 @?= kbe_Zahlung_s3_Antw,
|
||||
testCase "(GP OK, Zahlung (skonto 5) OK)" $
|
||||
waup kbe_Zahlung_s5 @?= kbe_Zahlung_s5_Antw,
|
||||
testCase "(GP OK, Zahlung (skonto 10) OK)" $
|
||||
waup kbe_Zahlung_s10 @?= kbe_Zahlung_s10_Antw
|
||||
|
||||
|
||||
]
|
||||
|
||||
a2_konsolidiere_tests :: TestTree
|
||||
a2_konsolidiere_tests =
|
||||
testGroup
|
||||
"-----A2 konsolidiere Tests-----"
|
||||
[
|
||||
-- NF Gutschrift
|
||||
testCase "kassabuc_Guts" $
|
||||
konsolidiere kassabuc_Guts @?= kassabuc_Guts_Antw,
|
||||
-- Feb test cases Gutschrift
|
||||
testCase "kassabuc_Guts_Feb" $
|
||||
konsolidiere kassabuc_Guts_Feb @?= kassabuc_Guts_Feb_Antw,
|
||||
|
||||
-- 31. test cases Gutschrift
|
||||
testCase "kassabuc_Guts_31" $
|
||||
konsolidiere kassabuc_Guts_31 @?= kassabuc_Guts_31_Antw,
|
||||
|
||||
-- NF Zahlung
|
||||
testCase "kassabuc_Zahl" $
|
||||
konsolidiere kassabuc_Zahl @?= kassabuc_Zahl_Antw
|
||||
|
||||
|
||||
]
|
||||
|
||||
a3_saldo_tests :: TestTree
|
||||
a3_saldo_tests =
|
||||
testGroup
|
||||
"-----A3 saldo Tests-----"
|
||||
[
|
||||
|
||||
testCase "Forderungssaldo_EC50" $
|
||||
saldo maxM kassabuc_Forderungssaldo_50 @?= Forderungssaldo (EC 50 0),
|
||||
|
||||
testCase "Zahlungssaldo_EC100_5" $
|
||||
saldo maxM kassabuc_Zahlungssaldo_100_5 @?= Zahlungssaldo (EC 100 5),
|
||||
|
||||
testCase "Ausgeglichen" $
|
||||
saldo maxM kassabuc_Ausgeglichen @?= Ausgeglichen,
|
||||
|
||||
testCase "Keine Geschäftsbez" $
|
||||
saldo maxM kassabuc_kein_Geschaftsb @?= Keine_Geschaeftsbeziehung
|
||||
|
||||
|
||||
]
|
||||
a4_saldiere_tests :: TestTree
|
||||
a4_saldiere_tests =
|
||||
testGroup
|
||||
"-----A4 saldiere Tests-----"
|
||||
[
|
||||
|
||||
testCase "lexikographisch_einfach" $
|
||||
saldiere kassab_lexikographisch_einfach @?= sKB_lexikographisch_einfach,
|
||||
|
||||
testCase "lexikographisch" $
|
||||
saldiere kassab_lexikographisch @?= sKB_lexikographisch,
|
||||
|
||||
testCase "lexikographisch + datumsvergl noetig" $
|
||||
saldiere kassab_lexikographisch_datum_vergl @?= sKB_lexikographisch_datum_vergl
|
||||
|
||||
|
||||
]
|
Reference in New Issue
Block a user