Skip to content

Commit a9ca29d

Browse files
committed
full code coverage for MPARA function
1 parent 47f56d0 commit a9ca29d

File tree

1 file changed

+115
-8
lines changed

1 file changed

+115
-8
lines changed

Tests/LStXML2CodeTests/LStXML2CodeTests.swift

Lines changed: 115 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@ import JavApi
66
final class LStXML2CodeTests: XCTestCase {
77

88
func testAll () throws {
9-
try self.testBMFSample() // Coverage: 49,5%
10-
try self.testKRV1() // Coverage: 49,7%
11-
try self.testKRV2() // Coverage: 50,1%
12-
try self.testAJAHR1KRV2() // Coverage: 52,2%
13-
try self.testSTKL3() // Coverage: 53,3%
14-
try self.testSTKL5PVS1PVZ1() // Coverage: 58,4%
15-
try self.testSTKL5PVS0PVZ1() // Coverage: 58,4%
16-
try self.testSTKL6PVS1PVZ0() // Coverage: 58,7%
9+
try self.testBMFSample() // Coverage: 49,5%
10+
try self.testKRV1() // Coverage: 49,7%
11+
try self.testKRV2() // Coverage: 50,1%
12+
try self.testAJAHR1KRV2() // Coverage: 52,2%
13+
try self.testSTKL3() // Coverage: 53,3%
14+
try self.testSTKL5PVS1PVZ1() // Coverage: 58,4%
15+
try self.testSTKL5PVS0PVZ1() // Coverage: 58,4%
16+
try self.testSTKL6PVS1PVZ0() // Coverage: 58,7%
17+
try self.testSTKL4LZZ0PVS1PVZ1()
18+
try self.testSTKL2LZZ0PVS1()
1719
/*
1820
*/
1921
}
@@ -424,4 +426,109 @@ final class LStXML2CodeTests: XCTestCase {
424426
XCTAssertEqual(calculator.WVFRBO, 0)
425427
XCTAssertEqual(calculator.WVFRBM, 0)
426428
}
429+
430+
// https://www.bmf-steuerrechner.de/interface/2023AbJuliVersion1.xhtml?code=ext2023&AJAHR=1&KRV=2&LZZ=0&PVS=1&RE4=2500000&STKL=2
431+
func testSTKL2LZZ0PVS1() throws {
432+
let calculator = Lohnsteuer2023AbJuliBig(
433+
AJAHR: 1,
434+
KRV: 2,
435+
RE4: java.math.BigDecimal(2500000),
436+
STKL: 2)
437+
438+
calculator.LZZ = 0
439+
calculator.PVS = 1
440+
441+
calculator.MAIN()
442+
443+
// must be set
444+
XCTAssertEqual(calculator.VFRB, 123000)
445+
XCTAssertEqual(calculator.LSTLZZ, 1118535)
446+
XCTAssertEqual(calculator.WVFRB, 897805900)
447+
XCTAssertEqual(calculator.SOLZLZZ, 61519)
448+
// must be zero
449+
XCTAssertEqual(calculator.BK, 0)
450+
XCTAssertEqual(calculator.BKS, 0)
451+
XCTAssertEqual(calculator.BKV, 0)
452+
XCTAssertEqual(calculator.SOLZS, 0)
453+
XCTAssertEqual(calculator.SOLZV, 0)
454+
XCTAssertEqual(calculator.STS, 0)
455+
XCTAssertEqual(calculator.STV, 0)
456+
XCTAssertEqual(calculator.VKVLZZ, 0)
457+
XCTAssertEqual(calculator.VKVSONST, 0)
458+
XCTAssertEqual(calculator.VFRBS1, 0)
459+
XCTAssertEqual(calculator.VFRBS2, 0)
460+
XCTAssertEqual(calculator.WVFRBO, 0)
461+
XCTAssertEqual(calculator.WVFRBM, 0)
462+
}
463+
464+
// https://www.bmf-steuerrechner.de/interface/2023AbJuliVersion1.xhtml?code=ext2023&AJAHR=1&KRV=2&LZZ=0&PVS=1&PVZ=1&RE4=2500000&STKL=4
465+
func testSTKL4LZZ0PVS1PVZ1() throws {
466+
let calculator = Lohnsteuer2023AbJuliBig(
467+
AJAHR: 1,
468+
KRV: 2,
469+
RE4: java.math.BigDecimal(2500000),
470+
STKL: 4)
471+
472+
calculator.LZZ = 0
473+
calculator.PVS = 1
474+
calculator.PVZ = 1
475+
476+
calculator.MAIN()
477+
478+
// must be set
479+
XCTAssertEqual(calculator.VFRB, 123000)
480+
XCTAssertEqual(calculator.LSTLZZ, 1119022)
481+
XCTAssertEqual(calculator.WVFRB, 898196000)
482+
XCTAssertEqual(calculator.SOLZLZZ, 61546)
483+
// must be zero
484+
XCTAssertEqual(calculator.BK, 0)
485+
XCTAssertEqual(calculator.BKS, 0)
486+
XCTAssertEqual(calculator.BKV, 0)
487+
XCTAssertEqual(calculator.SOLZS, 0)
488+
XCTAssertEqual(calculator.SOLZV, 0)
489+
XCTAssertEqual(calculator.STS, 0)
490+
XCTAssertEqual(calculator.STV, 0)
491+
XCTAssertEqual(calculator.VKVLZZ, 0)
492+
XCTAssertEqual(calculator.VKVSONST, 0)
493+
XCTAssertEqual(calculator.VFRBS1, 0)
494+
XCTAssertEqual(calculator.VFRBS2, 0)
495+
XCTAssertEqual(calculator.WVFRBO, 0)
496+
XCTAssertEqual(calculator.WVFRBM, 0)
497+
}
498+
499+
// https://www.bmf-steuerrechner.de/interface/2023AbJuliVersion1.xhtml?code=ext2023&AJAHR=1&KRV=2&LZZ=0&PVS=0&PVZ=1&RE4=2500000&STKL=4
500+
func testSTKL4LZZ0PVS0PVZ1() throws {
501+
let calculator = Lohnsteuer2023AbJuliBig(
502+
AJAHR: 1,
503+
KRV: 2,
504+
RE4: java.math.BigDecimal(2500000),
505+
STKL: 4)
506+
507+
calculator.LZZ = 0
508+
calculator.PVS = 0
509+
calculator.PVZ = 1
510+
511+
calculator.MAIN()
512+
513+
// must be set
514+
XCTAssertEqual(calculator.VFRB, 123000)
515+
XCTAssertEqual(calculator.LSTLZZ, 1119060)
516+
XCTAssertEqual(calculator.WVFRB, 898225900)
517+
XCTAssertEqual(calculator.SOLZLZZ, 61548)
518+
// must be zero
519+
XCTAssertEqual(calculator.BK, 0)
520+
XCTAssertEqual(calculator.BKS, 0)
521+
XCTAssertEqual(calculator.BKV, 0)
522+
XCTAssertEqual(calculator.SOLZS, 0)
523+
XCTAssertEqual(calculator.SOLZV, 0)
524+
XCTAssertEqual(calculator.STS, 0)
525+
XCTAssertEqual(calculator.STV, 0)
526+
XCTAssertEqual(calculator.VKVLZZ, 0)
527+
XCTAssertEqual(calculator.VKVSONST, 0)
528+
XCTAssertEqual(calculator.VFRBS1, 0)
529+
XCTAssertEqual(calculator.VFRBS2, 0)
530+
XCTAssertEqual(calculator.WVFRBO, 0)
531+
XCTAssertEqual(calculator.WVFRBM, 0)
532+
}
533+
427534
}

0 commit comments

Comments
 (0)