curl_setopt($ch, CURLOPT_POST, true);
$rand_item = $test->randomItem();
$PN = $rand_item["Name"];
foreach ($rand_item as $k => $v) {
    if ($k == 'Name') {
        echo "Creating Item Number: " . $rand_item['Name'] . "\n";
        curl_setopt($ch, CURLOPT_URL, "http://localhost/Back_End/CreateNewItem.php");
        curl_setopt($ch, CURLOPT_POSTFIELDS, "SID=ID&PartNumber={$PN}");
    } else {
        echo "Modifying Item Number " . $rand_item['Name'] . " with Field:{$k} => Value:{$v}\n";
        curl_setopt($ch, CURLOPT_URL, "http://localhost/Back_End/ModifyItem.php");
        curl_setopt($ch, CURLOPT_POSTFIELDS, "SID=ID&PartNumber={$PN}&Field={$k}&Value={$v}");
    }
    $output = curl_exec($ch);
    //test the output for errors
    $status_array = $test->translateXMLtoArray($output, "STATUS");
    $status_code = $status_array['STATUS_CODE'];
    $status_message = $status_array['STATUS_MESSAGE'];
    if ($status_code != "0") {
        echo "***FAILED***XML Response indicated failure({$status_code}) with message: {$status_message}\n";
    }
}
echo "Checking Item\n";
curl_setopt($ch, CURLOPT_URL, "http://localhost/Back_End/RetrieveItemData.php");
curl_setopt($ch, CURLOPT_POSTFIELDS, "SID=ID&PartNumber={$PN}");
$output = curl_exec($ch);
$item_array = $test->translateXMLtoArray($output, "QACCESS");
foreach ($rand_item as $k => $v) {
    echo "Checking {$k}...";
    if ($rand_item[$k] == $item_array[$k]) {
        echo "Passed.\n";
/***********************************************************************
 * 	Script: Test_ClassData.php
 * 	Description: Script for testing AddNewClassData.php, ModifyClassData.php 
 *	,RetrieveClassData.php and RetrieveBrowserData.php
 *
 *	Author: Craig Irvine ()
 *	Date: 24 Feb 2016
 *
 ***********************************************************************/
include "IMSTest.php";
$test = new IMSTest();
$rand_class = $test->randomClassData();
//retrieve browser data for current part numbers
$browser = $test->curl_req("http://localhost/Back_End/RetrieveBrowserData.php", "SID=id");
$browserEntryArray = $test->translateXMLtoArray($browser, "BROWSER");
//Take random existing part number
$rand_class['Part'] = $browserEntryArray[mt_rand(0, count($browserEntryArray) - 1)]['Name'];
echo "Adding Class Data\n";
foreach ($rand_class as $k => $v) {
    echo "{$k} => {$v}\n";
}
$add_options = "SID=id&Class=" . $rand_class['Class'] . "&PartNumber=" . $rand_class['Part'] . "&Quantity=" . $rand_class['Quantity'] . "&Date=" . $rand_class['Date'];
$output = $test->curl_req("http://localhost/Back_End/AddNewClassData.php", $add_options);
//test the output for errors
$status_array = $test->translateXMLtoArray($output, "STATUS");
$status_code = $status_array['STATUS_CODE'];
$status_message = $status_array['STATUS_MESSAGE'];
if ($status_code != "0") {
    echo "***FAILED***XML Response indicated failure({$status_code}) with message: {$status_message}\n";
}