@@ -6,14 +6,16 @@ import JavApi
66final 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