- Split Order_line testing into "structure" and "data" tests.
- Modified Phone attribute test values (Staff, Supplier).
- Changed lower bound on Qty_Ordered to 1.
- Added lower bound constraint to Qty_Received.
1 parent f87e174 commit cca40d68266bc02b2e56396344c3a21e7848a629
Nigel Stanger authored on 24 Jun 2013
Showing 5 changed files
View
24
Unit_testing/BDL_Fixture_Order_line.xml
<value>16137254888</value>
<value>28 Cherry Drive</value>
<value>Manufacturing</value>
<value>Technician</value>
<value>33809.79</value>
<value>3809.79</value>
<value>Excellent negotiator.</value>
</row>
<row>
<value>329</value>
<value>16136507402</value>
<value>45 Pine Hill Road</value>
<value>Manufacturing</value>
<value>Researcher</value>
<value>51246.01</value>
<value>1246.01</value>
<value>Argumentative.</value>
</row>
<row>
<value>330</value>
<row>
<value>1</value>
<value>Electrocore</value>
<value>Kerwin, Eric Cedrick</value>
<value>61134253377399</value>
<value>611342533773</value>
<value>54 Ainslee Place</value>
<value>tfodep@pruknl.invalid</value>
<value />
</row>
<row>
<value>2</value>
<value>Interdyne</value>
<value>Fletcher, James Thomas</value>
<value>61134259324134</value>
<value>611342593241</value>
<value>112 Alfred Place</value>
<value>hflsjo@jgugbf.invalid</value>
<value>Top-value supplier.</value>
</row>
<row>
<value>3</value>
<value>THR</value>
<value>Osorio, Sean Robert</value>
<value>61134254185149</value>
<value>611342541851</value>
<value>83 Carnforth Street</value>
<value>lubjez@xsgqol.invalid</value>
<value>Their range of components is mind-boggling.</value>
</row>
<row>
<value>4</value>
<value>DEB</value>
<value>Wengerd, Robert Daniel</value>
<value>61134256698396</value>
<value>611342566983</value>
<value>48 Tomahawk Road</value>
<value>pospil@kwpxdz.invalid</value>
<value>Check whether they still supply brazing twine.</value>
</row>
<row>
<value>5</value>
<value>Econotronix</value>
<value>Chambers, Helen Katie</value>
<value>61134259512602</value>
<value>611342595126</value>
<value>246 Helensburgh Road</value>
<value>vyzvqq@cggktn.invalid</value>
<value />
</row>
<row>
<value>6</value>
<value>Anderson, Enriquez &amp; Garza</value>
<value>Sierra, Hector Michael</value>
<value>61134253607344</value>
<value>611342536073</value>
<value>50 Hanlon Street</value>
<value>bjyyht@auroka.invalid</value>
<value />
</row>
<row>
<value>7</value>
<value>Sloan Ramirez</value>
<value>Maney, Jose Gregory</value>
<value>61134257280452</value>
<value>611342572804</value>
<value>17 Ardley Place</value>
<value>smfern@ofwnmm.invalid</value>
<value />
</row>
<row>
<value>8</value>
<value>Intertronics</value>
<value>Lansing, Tom William</value>
<value>61134258162185</value>
<value>611342581621</value>
<value>42 Cowan Road</value>
<value>rbbmdu@psfpuh.invalid</value>
<value>Quality control is not great.</value>
</row>
<row>
<value>9</value>
<value>HAD</value>
<value>Streit, Caroline Lora</value>
<value>61134252705928</value>
<value>611342527059</value>
<value>12 Hamel Street</value>
<value>ioprzh@bfdeev.invalid</value>
<value />
</row>
<row>
<value>10</value>
<value>Dahl, Olden &amp; Miranda</value>
<value>Welsh, Leisa Theodora</value>
<value>61134251222033</value>
<value>611342512220</value>
<value>154 Grandview Crescent</value>
<value>nabtfm@glqlme.invalid</value>
<value />
</row>
View
136
Unit_testing/BDL_Test_Order_line.php
<?php
require_once "Schema.php";
 
class BDL_Test_Order_line extends PHPUnit_Extensions_Database_TestCase_CreateTable
abstract class BDL_Test_Order_line extends PHPUnit_Extensions_Database_TestCase_CreateTable
{
public function getTableName()
{
return 'ORDER_LINE';
'nullable' => false,
'test_value' => "20", ),
'QTY_RECEIVED' => array( 'type' => array( 'NUMBER', 'INTEGER', 'SMALLINT' ),
'min_length' => 5,
'max_length' => 5,
'max_length' => 6,
'decimals' => 0,
'underflow' => -1,
'overflow' => 100000,
// 'overflow' => 100000,
'nullable' => false,
'test_value' => "20", ),
'PRICE' => array( 'type' => array( 'NUMBER', 'DECIMAL' ),
'min_length' => 6,
'ORDER_HEAD' => array( 'ORDER_NUM' ),
'COMPONENT' => array( 'COMPONENT_CODE', 'SUPPLIERS_CODE' ),
);
}
/**
* Return fixture data set for current database connection.
*
* @access protected
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
* @todo Parameterise the fixture filename.
*/
protected function getDataSet()
{
return $this->createXMLDataSet("BDL_Fixture_Order_line.xml");
}
public function testTableExists()
{
$this->assertTableExists();
}
/**
* @dataProvider provideColumnNames
*/
public function testColumnExists( $columnName )
{
$this->assertColumnExists( $columnName );
}
/**
* @dataProvider provideColumnTypes
*/
public function testColumnDataType( $columnName, $columnTypeList )
{
$this->assertColumnDataType( $columnName, $columnTypeList );
}
/**
* @dataProvider provideColumnLengths
*/
public function testColumnLength( $columnName, $columnLengthList )
{
$this->assertColumnLength( $columnName, $columnLengthList );
}
/**
* @dataProvider provideColumnLegalValues
*/
public function testColumnLegalValue( $columnName, $legalValue )
{
$this->assertColumnLegalValue( $columnName, $legalValue );
}
/**
* @dataProvider provideColumnUnderflowValues
* @expectedException PDOException
* @expectedExceptionMessage check constraint
* @expectedExceptionCode HY000
*/
public function testColumnUnderflowValue( $columnName, $underflowValue )
{
$this->assertColumnUnderflowValue( $columnName, $underflowValue );
}
/**
* @dataProvider provideColumnOverflowValues
* @expectedException PDOException
* @expectedExceptionMessage check constraint
* @expectedExceptionCode HY000
*/
public function testColumnOverflowValue( $columnName, $overflowValue )
{
$this->assertColumnOverflowValue( $columnName, $overflowValue );
}
/**
* @dataProvider provideColumnNullabilities
*/
public function testColumnNullability( $columnName, $columnNullability )
{
$this->assertColumnNullability( $columnName, $columnNullability );
}
public function testPKExists()
{
return $this->assertPKExists();
}
/**
* @depends testPKExists
*/
public function testPKColumns( $constraintName )
{
$this->assertPKColumns( $constraintName );
}
/**
* @dataProvider provideFKReferencedTables
*/
public function testFKsExist( $referencedTableName )
{
return $this->assertFKsExist( $referencedTableName );
}
/**
* @dataProvider provideFKReferencedTables
*/
public function testFKColumns( $referencedTableName )
{
$this->assertFKColumns( $referencedTableName );
}
/**
* @dataProvider provideConstraintNames
*/
public function testConstraintsNamed( $constraintName, $constraintType )
{
$this->assertConstraintNamed( $constraintName, $constraintType );
}
}
?>
View
52
Unit_testing/BDL_Test_Order_line_data.php 0 → 100644
<?php
require_once "BDL_Test_Order_line.php";
 
class BDL_Test_Order_line_data extends BDL_Test_Order_line
{
/**
* Return fixture data set for current database connection.
*
* @access protected
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
* @todo Parameterise the fixture filename.
*/
protected function getDataSet()
{
return $this->createXMLDataSet("BDL_Fixture_Order_line.xml");
}
/**
* @dataProvider provideColumnLegalValues
*/
public function testColumnLegalValue( $columnName, $legalValue )
{
$this->assertColumnLegalValue( $columnName, $legalValue );
}
/**
* @dataProvider provideColumnUnderflowValues
* @expectedException PDOException
* @expectedExceptionMessage check constraint
* @expectedExceptionCode HY000
*/
public function testColumnUnderflowValue( $columnName, $underflowValue )
{
$this->assertColumnUnderflowValue( $columnName, $underflowValue );
}
/**
* @dataProvider provideColumnOverflowValues
* @expectedException PDOException
* @expectedExceptionMessage check constraint
* @expectedExceptionCode HY000
*/
public function testColumnOverflowValue( $columnName, $overflowValue )
{
$this->assertColumnOverflowValue( $columnName, $overflowValue );
}
}
?>
View
103
Unit_testing/BDL_Test_Order_line_structure.php 0 → 100644
<?php
require_once "BDL_Test_Order_line.php";
 
class BDL_Test_Order_line_structure extends BDL_Test_Order_line
{
/**
* Return fixture data set for current database connection.
*
* @access protected
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
* @todo Parameterise the fixture filename.
*/
protected function getDataSet()
{
return $this->createXMLDataSet("BDL_Fixture_Empty.xml");
}
public function testTableExists()
{
$this->assertTableExists();
}
/**
* @dataProvider provideColumnNames
*/
public function testColumnExists( $columnName )
{
$this->assertColumnExists( $columnName );
}
/**
* @dataProvider provideColumnTypes
*/
public function testColumnDataType( $columnName, $columnTypeList )
{
$this->assertColumnDataType( $columnName, $columnTypeList );
}
/**
* @dataProvider provideColumnLengths
*/
public function testColumnLength( $columnName, $columnLengthList )
{
$this->assertColumnLength( $columnName, $columnLengthList );
}
/**
* @dataProvider provideColumnNullabilities
*/
public function testColumnNullability( $columnName, $columnNullability )
{
$this->assertColumnNullability( $columnName, $columnNullability );
}
public function testPKExists()
{
return $this->assertPKExists();
}
/**
* @depends testPKExists
*/
public function testPKColumns( $constraintName )
{
$this->assertPKColumns( $constraintName );
}
/**
* @dataProvider provideFKReferencedTables
*/
public function testFKsExist( $referencedTableName )
{
return $this->assertFKsExist( $referencedTableName );
}
/**
* @dataProvider provideFKReferencedTables
*/
public function testFKColumns( $referencedTableName )
{
$this->assertFKColumns( $referencedTableName );
}
/**
* @dataProvider provideConstraintNames
*/
public function testConstraintsNamed( $constraintName, $constraintType )
{
$this->assertConstraintNamed( $constraintName, $constraintType );
}
}
?>
View
6
Unit_testing/BDL_schema.sql
--
Suppliers_Code VARCHAR2(25),
--
Qty_Ordered NUMBER(5) NOT NULL
CONSTRAINT Order_Line_Qty_Ord_Too_Low CHECK ( Qty_Ordered BETWEEN 0 AND 99999 ),
CONSTRAINT Order_Line_Qty_Ord_Too_Low CHECK ( Qty_Ordered BETWEEN 1 AND 99999 ),
--
Price NUMBER(6,2) NOT NULL
CONSTRAINT Order_Line_Price_Too_Low CHECK ( Price BETWEEN 0 AND 9999.99 ),
--
Qty_Received NUMBER(6) NOT NULL,
Qty_Received NUMBER(6) NOT NULL
CONSTRAINT Order_Line_Qty_Rec_Too_Low CHECK ( Qty_Received >= 0 ),
--
CONSTRAINT Order_Line_PK PRIMARY KEY ( Order_Num, Component_Code, Suppliers_Code ),
--
CONSTRAINT Order_Line_FK_To_Comp FOREIGN KEY ( Component_Code, Suppliers_Code ) REFERENCES Component,