var SECTION = "proto_3";
var VERSION = "JS1_3";
var TITLE = "Adding properties to the prototype";
startTest();
writeHeaderToLog( SECTION + " "+ TITLE);
var testcases = new Array();
function Employee () {
this.name = "";
this.dept = "general";
}
function Manager () {
this.reports = [];
}
Manager.prototype = new Employee();
function WorkerBee () {
this.projects = new Array();
}
WorkerBee.prototype = new Employee();
function SalesPerson () {
this.dept = "sales";
this.quota = 100;
}
SalesPerson.prototype = new WorkerBee();
function Engineer () {
this.dept = "engineering";
this.machine = "";
}
Engineer.prototype = new WorkerBee();
function test() {
for ( tc=0; tc < testcases.length; tc++ ) {
testcases[tc].passed = writeTestCaseResult(
testcases[tc].expect,
testcases[tc].actual,
testcases[tc].description +" = "+
testcases[tc].actual );
testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";
}
stopTest();
return ( testcases );
}
var jim = new Employee();
var terry = new Engineer();
var sean = new SalesPerson();
var wally = new Manager();
Employee.prototype.specialty = "none";
var pat = new Employee();
var leslie = new Engineer();
var bubbles = new SalesPerson();
var furry = new Manager();
Engineer.prototype.specialty = "code";
var chris = new Engineer();
testcases[tc++] = new TestCase( SECTION,
"jim = new Employee(); jim.specialty",
"none",
jim.specialty );
testcases[tc++] = new TestCase( SECTION,
"terry = new Engineer(); terry.specialty",
"code",
terry.specialty );
testcases[tc++] = new TestCase( SECTION,
"sean = new SalesPerson(); sean.specialty",
"none",
sean.specialty );
testcases[tc++] = new TestCase( SECTION,
"wally = new Manager(); wally.specialty",
"none",
wally.specialty );
testcases[tc++] = new TestCase( SECTION,
"furry = new Manager(); furry.specialty",
"none",
furry.specialty );
testcases[tc++] = new TestCase( SECTION,
"pat = new Employee(); pat.specialty",
"none",
pat.specialty );
testcases[tc++] = new TestCase( SECTION,
"leslie = new Engineer(); leslie.specialty",
"code",
leslie.specialty );
testcases[tc++] = new TestCase( SECTION,
"bubbles = new SalesPerson(); bubbles.specialty",
"none",
bubbles.specialty );
testcases[tc++] = new TestCase( SECTION,
"chris = new Employee(); chris.specialty",
"code",
chris.specialty );
test();