Newer
Older
sqlmarker / Unit_testing / BDL_Test_Staff.php
  1. <?php
  2. require_once "Schema.php";
  3.  
  4. abstract class BDL_Test_Staff extends PHPUnit_Extensions_Database_TestCase_CreateTable
  5. {
  6. public function getTableName()
  7. {
  8. return 'STAFF';
  9. }
  10. public function getColumnList()
  11. {
  12. return array(
  13. 'STAFF_ID' => array( 'generic_type' => 'NUMBER',
  14. 'sql_type' => array( 'NUMBER', 'INTEGER' ),
  15. 'min_length' => 7,
  16. 'max_length' => 7,
  17. 'decimals' => 0,
  18. 'nullable' => false,
  19. 'test_value' => "123456", ),
  20. 'SURNAME' => array( 'generic_type' => 'TEXT',
  21. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  22. 'min_length' => 50,
  23. 'max_length' => 50,
  24. 'nullable' => false,
  25. 'test_value' => "Bloggs", ),
  26. 'FIRSTNAMES' => array( 'generic_type' => 'TEXT',
  27. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  28. 'min_length' => 50,
  29. 'max_length' => 50,
  30. 'nullable' => false,
  31. 'test_value' => "Harold", ),
  32. 'PHONE' => array( 'generic_type' => 'TEXT',
  33. 'sql_type' => array( 'VARCHAR2', 'CHAR', 'VARCHAR' ),
  34. 'min_length' => 11,
  35. 'max_length' => 20,
  36. 'nullable' => false,
  37. 'test_value' => "16139981234", ),
  38. 'ADDRESS' => array( 'generic_type' => 'TEXT',
  39. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  40. 'min_length' => 150,
  41. 'max_length' => 150,
  42. 'nullable' => false,
  43. 'test_value' => "12 Western Way", ),
  44. 'DEPARTMENT' => array( 'generic_type' => 'TEXT',
  45. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  46. 'min_length' => 18,
  47. 'max_length' => 25,
  48. 'nullable' => false,
  49. 'legal_values' => array(
  50. "Central Management", "Sales & Marketing", "Personnel",
  51. "Manufacturing", "Inventory", "Accounts" ),
  52. 'illegal_values' => array( "Sales and Marketing", "foobar", "blurk", " " ),
  53. 'test_value' => "Accounts", ),
  54. 'POSITION' => array( 'generic_type' => 'TEXT',
  55. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  56. 'min_length' => 20,
  57. 'max_length' => 30,
  58. 'nullable' => false,
  59. 'legal_values' => array(
  60. "CEO", "CTO", "CFO", "CIO", "Director", "President", "Vice-President",
  61. "Manager", "Personal Assistant", "Secretary", "Technician", "Researcher",
  62. "Designer", "Assembler", "Programmer", "Contractor", "Sales Representative",
  63. "Accountant", "Inventory", "Assistant" ),
  64. 'illegal_values' => array( "barfoo", "blargh", " " ),
  65. 'test_value' => "CEO", ),
  66. 'SALARY' => array( 'generic_type' => 'NUMBER',
  67. 'sql_type' => array( 'NUMBER', 'DECIMAL' ),
  68. 'min_length' => 7,
  69. 'max_length' => 7,
  70. 'decimals' => 2,
  71. 'underflow' => "999.99",
  72. 'overflow' => "100000",
  73. 'nullable' => false,
  74. 'test_value' => "50000", ),
  75. 'COMMENTS' => array( 'generic_type' => 'TEXT',
  76. 'sql_type' => array( 'VARCHAR2', 'CLOB' ),
  77. 'min_length' => 500,
  78. 'nullable' => true,
  79. 'test_value' => "Blah blah blah", ), );
  80. }
  81. public function getPKColumnList()
  82. {
  83. return array( 'STAFF_ID' );
  84. }
  85. public function getFKColumnList()
  86. {
  87. return array();
  88. }
  89. }
  90. ?>