@@ -369,6 +369,7 @@ public void ProgrammedEffectTableReturnsValidData()
369369 Assert . That ( lightRow . GetParamString ( 8 ) , Is . EqualTo ( null ) ) ;
370370 }
371371
372+ [ Test ( Description = "Damage level table entries return valid data" ) ]
372373 [ TestCase ( 0 , "UNINJURED" , 6409 ) ]
373374 [ TestCase ( 1 , "BARELY_INJURED" , 6410 ) ]
374375 [ TestCase ( 2 , "INJURED" , 6411 ) ]
@@ -379,8 +380,130 @@ public void DamageLevelTableReturnsValidData(int rowIndex, string label, int? st
379380 TwoDimArray < DamageLevelEntry > table = NwGameTables . DamageLevelTable ;
380381 DamageLevelEntry row = table . GetRow ( rowIndex ) ;
381382
383+ Assert . That ( row . RowIndex , Is . EqualTo ( rowIndex ) ) ;
382384 Assert . That ( row . Label , Is . EqualTo ( label ) ) ;
383385 Assert . That ( row . StrRef ? . Id , Is . EqualTo ( strRef ) ) ;
384386 }
387+
388+ [ Test ( Description = "XP table entries return valid data" ) ]
389+ [ TestCase ( 0 , 1 , 0u ) ]
390+ [ TestCase ( 1 , 2 , 1000u ) ]
391+ [ TestCase ( 2 , 3 , 3000u ) ]
392+ [ TestCase ( 3 , 4 , 6000u ) ]
393+ [ TestCase ( 4 , 5 , 10000u ) ]
394+ [ TestCase ( 5 , 6 , 15000u ) ]
395+ [ TestCase ( 6 , 7 , 21000u ) ]
396+ [ TestCase ( 7 , 8 , 28000u ) ]
397+ [ TestCase ( 8 , 9 , 36000u ) ]
398+ [ TestCase ( 9 , 10 , 45000u ) ]
399+ [ TestCase ( 10 , 11 , 55000u ) ]
400+ [ TestCase ( 11 , 12 , 66000u ) ]
401+ [ TestCase ( 12 , 13 , 78000u ) ]
402+ [ TestCase ( 13 , 14 , 91000u ) ]
403+ [ TestCase ( 14 , 15 , 105000u ) ]
404+ [ TestCase ( 15 , 16 , 120000u ) ]
405+ [ TestCase ( 16 , 17 , 136000u ) ]
406+ [ TestCase ( 17 , 18 , 153000u ) ]
407+ [ TestCase ( 18 , 19 , 171000u ) ]
408+ [ TestCase ( 19 , 20 , 190000u ) ]
409+ [ TestCase ( 20 , 21 , 210000u ) ]
410+ [ TestCase ( 21 , 22 , 231000u ) ]
411+ [ TestCase ( 22 , 23 , 253000u ) ]
412+ [ TestCase ( 23 , 24 , 276000u ) ]
413+ [ TestCase ( 24 , 25 , 300000u ) ]
414+ [ TestCase ( 25 , 26 , 325000u ) ]
415+ [ TestCase ( 26 , 27 , 351000u ) ]
416+ [ TestCase ( 27 , 28 , 378000u ) ]
417+ [ TestCase ( 28 , 29 , 406000u ) ]
418+ [ TestCase ( 29 , 30 , 435000u ) ]
419+ [ TestCase ( 30 , 31 , 465000u ) ]
420+ [ TestCase ( 31 , 32 , 496000u ) ]
421+ [ TestCase ( 32 , 33 , 528000u ) ]
422+ [ TestCase ( 33 , 34 , 561000u ) ]
423+ [ TestCase ( 34 , 35 , 595000u ) ]
424+ [ TestCase ( 35 , 36 , 630000u ) ]
425+ [ TestCase ( 36 , 37 , 666000u ) ]
426+ [ TestCase ( 37 , 38 , 703000u ) ]
427+ [ TestCase ( 38 , 39 , 741000u ) ]
428+ [ TestCase ( 39 , 40 , 780000u ) ]
429+ [ TestCase ( 40 , 41 , 0xFFFFFFFFu ) ]
430+ public void ExpTableReturnsValidData ( int rowIndex , int ? level , uint ? xp )
431+ {
432+ TwoDimArray < ExpTableEntry > table = NwGameTables . ExpTable ;
433+ ExpTableEntry row = table . GetRow ( rowIndex ) ;
434+
435+ Assert . That ( row . RowIndex , Is . EqualTo ( rowIndex ) ) ;
436+ Assert . That ( row . Level , Is . EqualTo ( level ) ) ;
437+ Assert . That ( row . XP , Is . EqualTo ( xp ) ) ;
438+ }
439+
440+ [ Test ( Description = "Skill item cost entries return valid data" ) ]
441+ [ TestCase ( 0 , 5 , 1 , 5 , 10 ) ]
442+ [ TestCase ( 1 , 10 , 1 , 5 , 10 ) ]
443+ [ TestCase ( 2 , 50 , 1 , 5 , 10 ) ]
444+ [ TestCase ( 3 , 100 , 1 , 5 , 10 ) ]
445+ [ TestCase ( 4 , 150 , 1 , 5 , 10 ) ]
446+ [ TestCase ( 5 , 200 , 1 , 5 , 10 ) ]
447+ [ TestCase ( 6 , 300 , 1 , 5 , 10 ) ]
448+ [ TestCase ( 7 , 400 , 1 , 5 , 10 ) ]
449+ [ TestCase ( 8 , 500 , 1 , 5 , 10 ) ]
450+ [ TestCase ( 9 , 1000 , 1 , 5 , 10 ) ]
451+ [ TestCase ( 10 , 2500 , 5 , 10 , 15 ) ]
452+ [ TestCase ( 11 , 3750 , 5 , 10 , 15 ) ]
453+ [ TestCase ( 12 , 4800 , 5 , 10 , 15 ) ]
454+ [ TestCase ( 13 , 6500 , 10 , 15 , 20 ) ]
455+ [ TestCase ( 14 , 9500 , 10 , 15 , 20 ) ]
456+ [ TestCase ( 15 , 13000 , 10 , 15 , 20 ) ]
457+ [ TestCase ( 16 , 17000 , 10 , 15 , 20 ) ]
458+ [ TestCase ( 17 , 20000 , 10 , 15 , 20 ) ]
459+ [ TestCase ( 18 , 30000 , 15 , 20 , 25 ) ]
460+ [ TestCase ( 19 , 40000 , 15 , 20 , 25 ) ]
461+ [ TestCase ( 20 , 50000 , 15 , 20 , 25 ) ]
462+ [ TestCase ( 21 , 60000 , 15 , 20 , 25 ) ]
463+ [ TestCase ( 22 , 80000 , 15 , 20 , 25 ) ]
464+ [ TestCase ( 23 , 100000 , 15 , 20 , 25 ) ]
465+ [ TestCase ( 24 , 150000 , 20 , 25 , 30 ) ]
466+ [ TestCase ( 25 , 200000 , 20 , 25 , 30 ) ]
467+ [ TestCase ( 26 , 250000 , 20 , 25 , 30 ) ]
468+ [ TestCase ( 27 , 300000 , 20 , 25 , 30 ) ]
469+ [ TestCase ( 28 , 350000 , 25 , 30 , 35 ) ]
470+ [ TestCase ( 29 , 400000 , 25 , 30 , 35 ) ]
471+ [ TestCase ( 30 , 500000 , 25 , 30 , 35 ) ]
472+ [ TestCase ( 31 , 600000 , 25 , 30 , 35 ) ]
473+ [ TestCase ( 32 , 700000 , 30 , 35 , 40 ) ]
474+ [ TestCase ( 33 , 800000 , 30 , 35 , 40 ) ]
475+ [ TestCase ( 34 , 900000 , 30 , 35 , 40 ) ]
476+ [ TestCase ( 35 , 1000000 , 30 , 35 , 40 ) ]
477+ [ TestCase ( 36 , 1100000 , 35 , 40 , 45 ) ]
478+ [ TestCase ( 37 , 1200000 , 35 , 40 , 45 ) ]
479+ [ TestCase ( 38 , 1300000 , 35 , 40 , 45 ) ]
480+ [ TestCase ( 39 , 1400000 , 35 , 40 , 45 ) ]
481+ [ TestCase ( 40 , 1500000 , 40 , 45 , 50 ) ]
482+ [ TestCase ( 41 , 1600000 , 40 , 45 , 50 ) ]
483+ [ TestCase ( 42 , 1700000 , 40 , 45 , 50 ) ]
484+ [ TestCase ( 43 , 1800000 , 40 , 45 , 50 ) ]
485+ [ TestCase ( 44 , 1900000 , 45 , 50 , 55 ) ]
486+ [ TestCase ( 45 , 2000000 , 45 , 50 , 55 ) ]
487+ [ TestCase ( 46 , 2100000 , 45 , 50 , 55 ) ]
488+ [ TestCase ( 47 , 2200000 , 45 , 50 , 55 ) ]
489+ [ TestCase ( 48 , 2300000 , 50 , 55 , 60 ) ]
490+ [ TestCase ( 49 , 2400000 , 50 , 55 , 60 ) ]
491+ [ TestCase ( 50 , 2500000 , 50 , 55 , 60 ) ]
492+ [ TestCase ( 51 , 3000000 , 55 , 60 , 65 ) ]
493+ [ TestCase ( 52 , 5000000 , 60 , 65 , 70 ) ]
494+ [ TestCase ( 53 , 6000000 , 70 , 75 , 80 ) ]
495+ [ TestCase ( 54 , 9000000 , 80 , 85 , 90 ) ]
496+ [ TestCase ( 55 , 12000000 , null , null , null ) ]
497+ public void SkillItemCostTableReturnsValidData ( int rowIndex , int ? deviceCostMax , int ? skillReqClass , int ? skillReqRace , int ? skillReqAlign )
498+ {
499+ TwoDimArray < SkillItemCostTableEntry > table = NwGameTables . SkillItemCostTable ;
500+ SkillItemCostTableEntry row = table . GetRow ( rowIndex ) ;
501+
502+ Assert . That ( row . RowIndex , Is . EqualTo ( rowIndex ) ) ;
503+ Assert . That ( row . DeviceCostMax , Is . EqualTo ( deviceCostMax ) ) ;
504+ Assert . That ( row . ClassSkillRequirement , Is . EqualTo ( skillReqClass ) ) ;
505+ Assert . That ( row . RaceSkillRequirement , Is . EqualTo ( skillReqRace ) ) ;
506+ Assert . That ( row . AlignmentSkillRequirement , Is . EqualTo ( skillReqAlign ) ) ;
507+ }
385508 }
386509}
0 commit comments