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. 'legal_values' => array( "034511010", "2718391780", "+2496391734", "92819209365" ),
  38. 'test_value' => "16139981234", ),
  39. 'ADDRESS' => array( 'generic_type' => 'TEXT',
  40. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  41. 'min_length' => 150,
  42. 'max_length' => 150,
  43. 'nullable' => false,
  44. 'test_value' => "12 Western Way", ),
  45. 'DEPARTMENT' => array( 'generic_type' => 'TEXT',
  46. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  47. 'min_length' => 18,
  48. 'max_length' => 25,
  49. 'nullable' => false,
  50. 'legal_values' => array(
  51. "Central Management", "Sales & Marketing", "Personnel",
  52. "Manufacturing", "Inventory", "Accounts" ),
  53. 'illegal_values' => array( "Sales and Marketing", "foobar", "blurk", " " ),
  54. 'test_value' => "Accounts", ),
  55. 'POSITION' => array( 'generic_type' => 'TEXT',
  56. 'sql_type' => array( 'VARCHAR2', 'VARCHAR' ),
  57. 'min_length' => 20,
  58. 'max_length' => 30,
  59. 'nullable' => false,
  60. 'legal_values' => array(
  61. "CEO", "CTO", "CFO", "CIO", "Director", "President", "Vice-President",
  62. "Manager", "Personal Assistant", "Secretary", "Technician", "Researcher",
  63. "Designer", "Assembler", "Programmer", "Contractor", "Sales Representative",
  64. "Accountant", "Inventory", "Assistant" ),
  65. 'illegal_values' => array( "barfoo", "blargh", " " ),
  66. 'test_value' => "CEO", ),
  67. 'SALARY' => array( 'generic_type' => 'NUMBER',
  68. 'sql_type' => array( 'NUMBER', 'DECIMAL' ),
  69. 'min_length' => 7,
  70. 'max_length' => 7,
  71. 'decimals' => 2,
  72. 'underflow' => "999.99",
  73. 'overflow' => "100000",
  74. 'nullable' => false,
  75. 'test_value' => "50000", ),
  76. 'COMMENTS' => array( 'generic_type' => 'TEXT',
  77. 'sql_type' => array( 'VARCHAR2', 'CLOB' ),
  78. 'min_length' => 500,
  79. 'nullable' => true,
  80. 'test_value' => "Blah blah blah", ), );
  81. }
  82. public function getPKColumnList()
  83. {
  84. return array( 'STAFF_ID' );
  85. }
  86. public function getFKColumnList()
  87. {
  88. return array();
  89. }
  90. }
  91. ?>