diff --git a/test/built-ins/Object/create/15.2.3.5-0-1.js b/test/built-ins/Object/create/15.2.3.5-0-1.js
index 0e0b8faa559b9781920a758cf58b450786355a73..1f3fd1d5e8773ccff9d33f8e2efb88ef5e6da447 100644
--- a/test/built-ins/Object/create/15.2.3.5-0-1.js
+++ b/test/built-ins/Object/create/15.2.3.5-0-1.js
@@ -4,12 +4,6 @@
 /*---
 es5id: 15.2.3.5-0-1
 description: Object.create must exist as a function
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-  if (typeof(Object.create) === "function") {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(typeof(Object.create), "function", 'typeof(Object.create)');
diff --git a/test/built-ins/Object/create/15.2.3.5-0-2.js b/test/built-ins/Object/create/15.2.3.5-0-2.js
index 5ac3e1cc56473b23c721b3dd520f4c2d9b65e84f..9efc5865b77b7e5aed5d1a863b27c5c5f9274aeb 100644
--- a/test/built-ins/Object/create/15.2.3.5-0-2.js
+++ b/test/built-ins/Object/create/15.2.3.5-0-2.js
@@ -4,12 +4,6 @@
 /*---
 es5id: 15.2.3.5-0-2
 description: Object.create must exist as a function taking 2 parameters
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-  if (Object.create.length === 2) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(Object.create.length, 2, 'Object.create.length');
diff --git a/test/built-ins/Object/create/15.2.3.5-2-1.js b/test/built-ins/Object/create/15.2.3.5-2-1.js
index 62bc8a406b3278e462797a4ce1ccae604124143e..02f15d16410be520fffd198d5323bb91c6dfc5f5 100644
--- a/test/built-ins/Object/create/15.2.3.5-2-1.js
+++ b/test/built-ins/Object/create/15.2.3.5-2-1.js
@@ -7,17 +7,11 @@ info: >
     This can be checked using isPrototypeOf, or getPrototypeOf.
 es5id: 15.2.3.5-2-1
 description: Object.create creates new Object
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     function base() {}
     var b = new base();
     var prop = new Object();
     var d = Object.create(b);
 
-    if (typeof d === 'object') {
-      return true;
-    }
- }
-runTestCase(testcase);
+assert.sameValue(typeof d, 'object', 'typeof d');
diff --git a/test/built-ins/Object/create/15.2.3.5-2-2.js b/test/built-ins/Object/create/15.2.3.5-2-2.js
index e77abf322bcafb4bd97795830f69758fbbad16f0..d853baffe82a3167553febdc99c8c64e476a097c 100644
--- a/test/built-ins/Object/create/15.2.3.5-2-2.js
+++ b/test/built-ins/Object/create/15.2.3.5-2-2.js
@@ -4,12 +4,8 @@
 /*---
 es5id: 15.2.3.5-2-2
 description: Object.create - returned object is an instance of Object
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({});
-        return newObj instanceof Object;
-    }
-runTestCase(testcase);
+
+assert(newObj instanceof Object, 'newObj instanceof Object !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-3-1.js b/test/built-ins/Object/create/15.2.3.5-3-1.js
index c6967e6eb0897dff534dea26e538d05483dc9ce0..9c2b102d58496505bb7cf335688707b70684576b 100644
--- a/test/built-ins/Object/create/15.2.3.5-3-1.js
+++ b/test/built-ins/Object/create/15.2.3.5-3-1.js
@@ -7,17 +7,11 @@ info: >
     This can be checked using isPrototypeOf, or getPrototypeOf.
 es5id: 15.2.3.5-3-1
 description: Object.create sets the prototype of the passed-in object
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     function base() {}
     var b = new base();
     var d = Object.create(b);
 
-    if (Object.getPrototypeOf(d) === b &&
-        b.isPrototypeOf(d) === true) {
-      return true;
-    }
- }
-runTestCase(testcase);
+assert.sameValue(Object.getPrototypeOf(d), b, 'Object.getPrototypeOf(d)');
+assert.sameValue(b.isPrototypeOf(d), true, 'b.isPrototypeOf(d)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-1.js b/test/built-ins/Object/create/15.2.3.5-4-1.js
index 7f250d3e97804a6bba7c981b7886fe3b1d35c1c8..ca2046b383461f1239e1b21caa91c02ca98c5b65 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-1.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-1.js
@@ -9,23 +9,17 @@ es5id: 15.2.3.5-4-1
 description: >
     Object.create sets the prototype of the passed-in object and adds
     new properties
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     function base() {}
     var b = new base();
     var prop = new Object();
     var d = Object.create(b,{ "x": {value: true,writable: false},
                               "y": {value: "str",writable: false} });
 
-    if (Object.getPrototypeOf(d) === b &&
-        b.isPrototypeOf(d) === true &&
-        d.x === true &&
-        d.y === "str" &&
-        b.x === undefined &&
-        b.y === undefined) {
-      return true;
-    }
- }
-runTestCase(testcase);
+assert.sameValue(Object.getPrototypeOf(d), b, 'Object.getPrototypeOf(d)');
+assert.sameValue(b.isPrototypeOf(d), true, 'b.isPrototypeOf(d)');
+assert.sameValue(d.x, true, 'd.x');
+assert.sameValue(d.y, "str", 'd.y');
+assert.sameValue(b.x, undefined, 'b.x');
+assert.sameValue(b.y, undefined, 'b.y');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-102.js b/test/built-ins/Object/create/15.2.3.5-4-102.js
index def14e68851aeebcee5c8c8d8a683a7373da1fec..d8fbe1baa58750cfb0d4ef3a22212dceac4d9f36 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-102.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-102.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-102
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is an inherited data property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-       
         var proto = {
             configurable: true
         };
@@ -27,7 +24,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-105.js b/test/built-ins/Object/create/15.2.3.5-4-105.js
index eb3ad68438cb0167e28a146c0e0f5136efc522ba..afff08cca5ba40d39e616a58268ee5922235a6b4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-105.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-105.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-105
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is own accessor property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = {};
         Object.defineProperty(descObj, "configurable", {
             get: function () {
@@ -25,6 +22,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-106.js b/test/built-ins/Object/create/15.2.3.5-4-106.js
index ed6221dec2d103377d9d06a2a7a480640ee40884..721181e09fb338f8b304989b8e073395de74203b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-106.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-106.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-106
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is an inherited accessor property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "configurable", {
@@ -30,6 +27,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-11.js b/test/built-ins/Object/create/15.2.3.5-4-11.js
index 7c4f1af774ed9741ecd2bdccfbca28c059caa227..4dbd85f61e6b2e9aa582911313aeaf6903d053fc 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-11.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-11.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-11
 description: >
     Object.create - argument 'Properties' is a Date object (15.2.3.7
     step 2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Date();
         var result = false;
 
@@ -22,6 +19,6 @@ function testcase() {
             enumerable: true
         });
         var newObj = Object.create({}, props);
-        return result && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-112.js b/test/built-ins/Object/create/15.2.3.5-4-112.js
index d211e3eff2ce14500a2fc83b17fd5200bbd69f90..81b491fb26a63014b01a0d974a6071bd864fab20 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-112.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-112.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Function object
     which implements its own [[Get]] method to access the
     'configurable' property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = function () { };
 
         descObj.configurable = true;
@@ -24,6 +21,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-113.js b/test/built-ins/Object/create/15.2.3.5-4-113.js
index e049947523c76cd26bcedaf34c91618d214ea866..26b9e86982f1f7a0b11964aa7743e56e9fcc1967 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-113.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-113.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Array object
     that uses Object's [[Get]] method to access the 'configurable'
     property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = [];
 
         descObj.configurable = true;
@@ -24,6 +21,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-114.js b/test/built-ins/Object/create/15.2.3.5-4-114.js
index c1a7928ba085327e6f78a05d5aa869aab6757946..6ddb9994d72a44bae7fa4b58c4bcad8560bc6e47 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-114.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-114.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a String object
     that uses Object's [[Get]] method to access the 'configurable'
     property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = new String();
 
         descObj.configurable = true;
@@ -23,6 +20,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-115.js b/test/built-ins/Object/create/15.2.3.5-4-115.js
index e11ba97053d2e862cb02151d6a4e0966e41a0ef2..d7ad3da62468483bf4cc6c09592ef995ff5851f4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-115.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-115.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Boolean object
     that uses Object's [[Get]] method to access the 'configurable'
     property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = new Boolean(false);
 
         descObj.configurable = true;
@@ -24,6 +21,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-116.js b/test/built-ins/Object/create/15.2.3.5-4-116.js
index 0dc11eeec74ef63d1f66d63040a52094672fe1fb..861bd8b6551c07796894b2c858cbf0b200d45f25 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-116.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-116.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Number object
     that uses Object's [[Get]] method to access the 'configurable'
     property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = new Number(-9);
 
         descObj.configurable = true;
@@ -24,6 +21,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-118.js b/test/built-ins/Object/create/15.2.3.5-4-118.js
index 3c5a9093065e8e145233d3b6f5c2fc256288d428..7fcd8a59d4df029d930bf0241c4a075d3158da0a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-118.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-118.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Date object that
     uses Object's [[Get]] method to access the 'configurable' property
     (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = new Date();
 
         descObj.configurable = true;
@@ -24,6 +21,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-119.js b/test/built-ins/Object/create/15.2.3.5-4-119.js
index a6582eb7558018c1927bdf15c87f96cfbf2acad6..2d92b08bb40dc2dd64fc13b9fe392cc3ed858f74 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-119.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-119.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Date object that
     uses Object's [[Get]] method to access the 'configurable' property
     (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = new RegExp();
 
         descObj.configurable = true;
@@ -24,6 +21,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-12.js b/test/built-ins/Object/create/15.2.3.5-4-12.js
index 91af8ba5eb5879d6c67995191db1683a34266133..fd7b0a164a439ff514b89423ca32d8fde249913e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-12.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-12.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-12
 description: >
     Object.create - argument 'Properties' is a RegExp object (15.2.3.7
     step 2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new RegExp();
         var result = false;
 
@@ -22,6 +19,6 @@ function testcase() {
             enumerable: true
         });
         var newObj = Object.create({}, props);
-        return result && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-121.js b/test/built-ins/Object/create/15.2.3.5-4-121.js
index e518b163534b62fe81461cceb29f2155cd5e399d..5e9ebc1be9289e22849a6d8ee45900e5e46e7236 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-121.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-121.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Error object
     that uses Object's [[Get]] method to access the 'configurable'
     property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = new Error();
 
         descObj.configurable = true;
@@ -24,6 +21,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-122.js b/test/built-ins/Object/create/15.2.3.5-4-122.js
index 597f14cfa0b93f9ff9c51c9af3d5554834e107ad..13d7609e5e08c13ff017c226be99f672f37f840e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-122.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-122.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Arguments
     object which implements its own [[Get]] method to access the
     'configurable' property (8.10.5 step 4.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var argObj = (function () { return arguments; })();
 
         argObj.configurable = true;
@@ -23,6 +20,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-127.js b/test/built-ins/Object/create/15.2.3.5-4-127.js
index 830718d2c543040916c072591a5320a12c6af24b..f66387a568f7e1aa962cf864bbbc29b24c047ca1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-127.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-127.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-127
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is true (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: true
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-133.js b/test/built-ins/Object/create/15.2.3.5-4-133.js
index 49a36f160e14f0522292e168240892942ca441e4..cd34826270edf91be5b3b015f311b059c9e8ca3d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-133.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-133.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-133
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a positive number (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: 123
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-134.js b/test/built-ins/Object/create/15.2.3.5-4-134.js
index 438da449ad3a596106c55fea2fdbd91687bc269c..e74cde5e4f207da5d8b423536d9815528dcc2122 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-134.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-134.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-134
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a negative number (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: -123
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-136.js b/test/built-ins/Object/create/15.2.3.5-4-136.js
index 8a977d8be1a7ba9b5b90edfe69916b0c13e7071b..c00e28b6a41dec2c5b9e2caf456f642cb2555832 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-136.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-136.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-136
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a non-empty string (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: "abc"
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-137.js b/test/built-ins/Object/create/15.2.3.5-4-137.js
index 14cd4110b45a09024cb0ee8420c590b77da55775..884d3f95f0cb4a4e0ae818e119c156af0fd2014d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-137.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-137.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-137
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a Function object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: function () { }
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-138.js b/test/built-ins/Object/create/15.2.3.5-4-138.js
index 29913adccb10d863b4414a62390103920c0bd7ed..2a81156150631986dbd2e3743370b8c8163bf29f 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-138.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-138.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-138
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is an Array object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: []
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-139.js b/test/built-ins/Object/create/15.2.3.5-4-139.js
index 4b744796a6f5f23d16abc3ace70810ad92bc4f78..f821b617264f61d646f5a98fe65aa6c26e7fdafd 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-139.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-139.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-139
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a String object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: new String("abc")
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-14.js b/test/built-ins/Object/create/15.2.3.5-4-14.js
index 9955f23ca9a11bf0c43c1eb3b637d52373eb990f..91c6fe65cdf4f4e13c3883fb203f669856c1afef 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-14.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-14.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-14
 description: >
     Object.create - argument 'Properties' is an Error object (15.2.3.7
     step 2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Error("test");
         var result = false;
 
@@ -26,6 +23,6 @@ function testcase() {
             enumerable: true
         });
         var newObj = Object.create({}, props);
-        return result && newObj.hasOwnProperty("prop15_2_3_5_4_14");
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
+assert(newObj.hasOwnProperty("prop15_2_3_5_4_14"), 'newObj.hasOwnProperty("prop15_2_3_5_4_14") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-140.js b/test/built-ins/Object/create/15.2.3.5-4-140.js
index 9e03d7b3960fa3df513c0b33544a59bdf490e344..c4407af611cdf3c1798806cd0c26605940addf08 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-140.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-140.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-140
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a Boolean object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: new Boolean(true)
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-141.js b/test/built-ins/Object/create/15.2.3.5-4-141.js
index 384ea672aa0d0d4d68570f9ab661780a4c573575..9ad3bb849199c7eebb26672104667fba440037b4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-141.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-141.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-141
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a Number object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: new Number(123)
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-142.js b/test/built-ins/Object/create/15.2.3.5-4-142.js
index 7a62935bf85343adc3a2e46f25be40f6fc9e4d03..706c93be6c06afa325a04fce6f511cbb51fb4502 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-142.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-142.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-142
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is the Math object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: Math
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-143.js b/test/built-ins/Object/create/15.2.3.5-4-143.js
index 1982ea129a1564342e3b08b1ca2747149ea9b18f..2c13898bf883271ca699f5881c845c4e2bf71ba0 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-143.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-143.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-143
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a Date object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: new Date()
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-144.js b/test/built-ins/Object/create/15.2.3.5-4-144.js
index ba6c9a3af258b6d6ba76c7657305229bbfa328bb..a77690f053def2a929f275f9d261511ce5bbb085 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-144.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-144.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-144
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a RegExp object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: new RegExp()
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-145.js b/test/built-ins/Object/create/15.2.3.5-4-145.js
index 846865c8eae1715a3955b1da72c760e4cb975910..59b7607b23357ebde749c1e49feae78855a71f83 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-145.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-145.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-145
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is the JSON object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: JSON
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-146.js b/test/built-ins/Object/create/15.2.3.5-4-146.js
index 6472cbeef9a81ba564a3b9778c645a9ad53e2ed5..b187b2c7995edc02040390ec43ddb9fbe5990928 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-146.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-146.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-146
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is an Error object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: new Error()
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-147.js b/test/built-ins/Object/create/15.2.3.5-4-147.js
index 45282a434360918a407b4216c7b8c9908cccf1f5..c5966f17c1858c51c45d9a47838494a7afd22461 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-147.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-147.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-147
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is an Arguments object (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var argObj = (function () { return arguments; })();
 
         var newObj = Object.create({}, {
@@ -25,6 +22,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-149.js b/test/built-ins/Object/create/15.2.3.5-4-149.js
index abe206443942c5fb017d722464c758ae576cfef0..9b590ff554ca111abeb7bee27cc3b604b4f0fc30 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-149.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-149.js
@@ -6,13 +6,9 @@ es5id: 15.2.3.5-4-149
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is the global object (8.10.5 step 4.b)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: fnGlobalObject()
@@ -25,6 +21,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-15.js b/test/built-ins/Object/create/15.2.3.5-4-15.js
index 5f6b8ad267b21df18848c1761d45c7b1d7c2f64c..97856238daec7395e2045bba8eec3e1e70f5eee4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-15.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-15.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-15
 description: >
     Object.create - argument 'Properties' is the Aguments object
     (15.2.3.7 step 2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var result = false;
 
         var argObj = (function () { return arguments; })();
@@ -24,6 +21,6 @@ function testcase() {
         });
 
         var newObj = Object.create({}, argObj);
-        return result && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-150.js b/test/built-ins/Object/create/15.2.3.5-4-150.js
index 8cf7e20a834731fb47756ddbf6898bfb315c27f8..a39b6ec1a576734884c2b9aef6c70c7433be397d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-150.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-150.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'configurable' property of one property in
     'Properties' is a string (value is 'false') which is treated as
     the value true (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: "false"
@@ -24,6 +21,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-151.js b/test/built-ins/Object/create/15.2.3.5-4-151.js
index 7a144fdf47ea13d4e974acfe09180fabab4f95ed..0652a29d96c5514bb8fd936ba4471bbf559a35ae 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-151.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-151.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'configurable' property of one property in
     'Properties' is new Boolean(false) which is treated as the value
     true (8.10.5 step 4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: new Boolean(false)
@@ -24,6 +21,5 @@ function testcase() {
 
         var afterDeleted = newObj.hasOwnProperty("prop");
 
-        return beforeDeleted === true && afterDeleted === false;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeDeleted, true, 'beforeDeleted');
+assert.sameValue(afterDeleted, false, 'afterDeleted');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-152.js b/test/built-ins/Object/create/15.2.3.5-4-152.js
index ab81ae4fe7189a69241ca88ddf5756756d2c802c..d10a654917cc677fc0b83315c796694afc99905e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-152.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-152.js
@@ -6,17 +6,12 @@ es5id: 15.2.3.5-4-152
 description: >
     Object.create - 'value' property of one property in 'Properties'
     is present (8.10.5 step 5)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 value: 100
             }
         });
 
-        return newObj.prop === 100;
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, 100, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-153.js b/test/built-ins/Object/create/15.2.3.5-4-153.js
index 5bed0fbc291b0eb9248e219490253058290201c8..9e468d7d7205707aaa5766002615b2fa4cc870d3 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-153.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-153.js
@@ -6,15 +6,11 @@ es5id: 15.2.3.5-4-153
 description: >
     Object.create - 'value' property of one property in 'Properties'
     is not present (8.10.5 step 5)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {}
         });
 
-        return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof (newObj.prop), "undefined", 'typeof (newObj.prop)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-154.js b/test/built-ins/Object/create/15.2.3.5-4-154.js
index f9f98e5cfb645f9c704d9356958d1357335e92a2..6d173dedbdb0528a92028d73b4f1302eb81d6134 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-154.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-154.js
@@ -6,17 +6,12 @@ es5id: 15.2.3.5-4-154
 description: >
     Object.create - 'value' property of one property in 'Properties'
     is own data property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 value: "ownDataProperty"
             }
         });
 
-        return newObj.prop === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-155.js b/test/built-ins/Object/create/15.2.3.5-4-155.js
index b901fc70d4e560e03539e083413beeeb5a860e62..9da761bcb20666280d932252e117fc7c1875037c 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-155.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-155.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-155
 description: >
     Object.create - 'value' property of one property in 'Properties'
     is an inherited data property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             value: "inheritedDataProperty"
         };
@@ -24,6 +21,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "inheritedDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "inheritedDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-156.js b/test/built-ins/Object/create/15.2.3.5-4-156.js
index f4e6f9ab4f775e1d455d3c3f931e6e93dbdce6fe..7161dc784c88e5b3f398548c1bd636e03dc189b1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-156.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-156.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'value' property of one property in 'Properties'
     is own data property that overrides an inherited data property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             value: "inheritedDataProperty"
         };
@@ -27,6 +24,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-157.js b/test/built-ins/Object/create/15.2.3.5-4-157.js
index f62ef33811b2924b08d248b635afceac8822926f..4a8fb1a795ca6c51ea4d02b95dc11d0643a4d6a4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-157.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-157.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'value' property of one property in 'Properties'
     is own data property that overrides an inherited accessor property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "value", {
@@ -35,6 +32,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-158.js b/test/built-ins/Object/create/15.2.3.5-4-158.js
index da01c71b1c42049955f0707ba47b28f2fa77ac66..1f31f645b840c2bcddc901f01ccf8615f2fa6978 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-158.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-158.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-158
 description: >
     Object.create - 'value' property of one property in 'Properties'
     is own accessor property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = {};
 
         Object.defineProperty(descObj, "value", {
@@ -23,6 +20,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-159.js b/test/built-ins/Object/create/15.2.3.5-4-159.js
index d714af6915afc8147594349f94f626e31a4754ca..4ed1f46a464f06ee50c05ec7a2fe7434d2efbdfc 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-159.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-159.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-159
 description: >
     Object.create - 'value' property of one property in 'Properties'
     is an inherited accessor property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "value", {
@@ -28,6 +25,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "inheritedAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "inheritedAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-16.js b/test/built-ins/Object/create/15.2.3.5-4-16.js
index 7b1dd96435c5f53aaf99e9353121cf9099999c5b..7916c17fe547e9cebfbac5352051ff26ee55a064 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-16.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-16.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.5-4-16
 description: >
     Object.create - own enumerable data property in 'Properties' is
     defined in 'obj' (15.2.3.7 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {} 
         });
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-160.js b/test/built-ins/Object/create/15.2.3.5-4-160.js
index 0ca0bcd88f579362ed4541c48b136cc5f6f445aa..692a8589f25bc6afb5d7a4e3dc64819f987af95d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-160.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-160.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'value' property of one property in 'Properties'
     is own accessor property that overrides an inherited data property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             value: "inheritedDataProperty"
         };
@@ -31,6 +28,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-161.js b/test/built-ins/Object/create/15.2.3.5-4-161.js
index 9e34a206f111ed19c0f0e93e5dc4579ebaa19a3a..ad384083c3d57245303b7796eaadf10efbb323f2 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-161.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-161.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'value' property of one property in 'Properties'
     is own accessor property that overrides an inherited accessor
     property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "value", {
@@ -35,6 +32,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-162.js b/test/built-ins/Object/create/15.2.3.5-4-162.js
index b9664b94869ac41d36f9133aa0ac1352563a7359..ec528e311e952bf56cde2b9cad5a18ca2eb30721 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-162.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-162.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-162
 description: >
     Object.create - 'value' property of one property in 'Properties'
     is own accessor property without a get function (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = {};
 
         Object.defineProperty(descObj, "value", {
@@ -21,6 +18,5 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof (newObj.prop), "undefined", 'typeof (newObj.prop)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-163.js b/test/built-ins/Object/create/15.2.3.5-4-163.js
index 549adadd64b86e6557d1f6442abb719918f43a4d..2f3d0e80fbf468f5a632665ee11bf4da4a68f05a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-163.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-163.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'value' property of one property in 'Properties'
     is own accessor property without a get function, which overrides
     an inherited accessor property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "value", {
@@ -33,6 +30,5 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof (newObj.prop), "undefined", 'typeof (newObj.prop)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-164.js b/test/built-ins/Object/create/15.2.3.5-4-164.js
index aac18eee26a5ddc25422aadc2c48295421d6095c..d3a0f706b0dd8d8dd2c53cfc2f04cf18d4e21f31 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-164.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-164.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'value' property of one property in 'Properties'
     is an inherited accessor property without a get function (8.10.5
     step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "value", {
@@ -27,6 +24,5 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof (newObj.prop), "undefined", 'typeof (newObj.prop)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-165.js b/test/built-ins/Object/create/15.2.3.5-4-165.js
index c6611504b680845f9d55d08dcd02512cee29baa0..df8cb009bc59868d9b86e7fd7fad05526e7f5a0f 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-165.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-165.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Function object
     which implements its own [[Get]] method to access the 'value'
     property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var Func = function (a, b) {
             return a + b;
         };
@@ -22,6 +19,5 @@ function testcase() {
         var newObj = Object.create({}, {
             prop: fun
         });
-        return newObj.prop === "FunValue";
-    }
-runTestCase(testcase);
+
+assert.sameValue(newObj.prop, "FunValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-166.js b/test/built-ins/Object/create/15.2.3.5-4-166.js
index 598a6cf6150ac673415dff41d4a6874d90f89c52..0e844df158b06184b801045f5d307dfc745b56db 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-166.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-166.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Array object
     that uses Object's [[Get]] method to access the 'value' property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var arr = [1, 2, 3];
 
         arr.value = "ArrValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: arr
         });
 
-        return newObj.prop === "ArrValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ArrValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-167.js b/test/built-ins/Object/create/15.2.3.5-4-167.js
index db768470e44c63936c87831b9ed3f07699f50e81..2f4959e6cabf012102dc8d57b3aabc67cfe93bcc 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-167.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-167.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a String object
     that uses Object's [[Get]] method to access the 'value' property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var str = new String("abc");
 
         str.value = "StrValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: str
         });
 
-        return newObj.prop === "StrValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "StrValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-168.js b/test/built-ins/Object/create/15.2.3.5-4-168.js
index c72c479b008a502449fd91d6680961e3c18dc9de..bb2fd7d998f0b380c7e6783f3406e560f3b82c11 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-168.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-168.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Boolean object
     that uses Object's [[Get]] method to access the 'value' property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var booleanObj = new Boolean(false);
 
         booleanObj.value = "BooleanValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: booleanObj
         });
 
-        return newObj.prop === "BooleanValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "BooleanValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-169.js b/test/built-ins/Object/create/15.2.3.5-4-169.js
index c4d40e9b7bb982a8ef4a146bfd93794725e2642a..529e7b3feefc25e86210dbca3401e75006300513 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-169.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-169.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Number object
     that uses Object's [[Get]] method to access the 'value' property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var numObj = new Number(123);
 
         numObj.value = "NumValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: numObj
         });
 
-        return newObj.prop === "NumValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "NumValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-17.js b/test/built-ins/Object/create/15.2.3.5-4-17.js
index 2e31790ecf21706f7499e44f124b70afe8b6fa20..8083d035f6f4c4bcb15a39da2326bd7575e171c9 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-17.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-17.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-17
 description: >
     Object.create - own data property in 'Properties' which is not
     enumerable is not defined in 'obj' (15.2.3.7 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = {};
         Object.defineProperty(props, "prop", {
             value: {},
@@ -18,6 +15,4 @@ function testcase() {
         });
         var newObj = Object.create({}, props);
 
-        return !newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.hasOwnProperty("prop"), false, 'newObj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-171.js b/test/built-ins/Object/create/15.2.3.5-4-171.js
index a922a08c95f4350fbaf759058b2a991cd6406a9d..7dce49956450504e17b0345e1b6686663821a6d0 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-171.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-171.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Date object that
     uses Object's [[Get]] method to access the 'value' property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var dateObj = new Date();
 
         dateObj.value = "DateValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: dateObj
         });
 
-        return newObj.prop === "DateValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "DateValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-172.js b/test/built-ins/Object/create/15.2.3.5-4-172.js
index e498e09015c15214d7dde259240b3aed489f9d2c..6b467c8b08f0080a0bfbd1f634b2a952c852224c 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-172.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-172.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a RegExp object
     that uses Object's [[Get]] method to access the 'value' property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var regObj = new RegExp();
 
         regObj.value = "RegExpValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: regObj
         });
 
-        return newObj.prop === "RegExpValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "RegExpValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-174.js b/test/built-ins/Object/create/15.2.3.5-4-174.js
index a093b44647830a8288b61ef41949e82931940383..49aabea5358f6a534694e4cb94b75757aa8c44e3 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-174.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-174.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Error object
     that uses Object's [[Get]] method to access the 'value' property
     (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var errorObj = new Error();
 
         errorObj.value = "ErrorValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: errorObj
         });
 
-        return newObj.prop === "ErrorValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ErrorValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-175.js b/test/built-ins/Object/create/15.2.3.5-4-175.js
index af19ac014e953cd046b26cdcde6937f58ede7fe8..ef17be9ef2febc9e690e271f6bf595fff1fc7326 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-175.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-175.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Arguments
     object which implements its own [[Get]] method to access the
     'value' property (8.10.5 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var argObj = (function () { return arguments; })();
 
         argObj.value = "ArgValue";
@@ -20,6 +17,4 @@ function testcase() {
             prop: argObj
         });
 
-        return newObj.prop === "ArgValue";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ArgValue", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-178.js b/test/built-ins/Object/create/15.2.3.5-4-178.js
index c071a22b22d2871eaf4cb14b5a6b3a40e908a794..d07158967da625c44106e020f10aa8c30ffdd8a4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-178.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-178.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-178
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is true (8.10.5 step 6)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: true
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-18.js b/test/built-ins/Object/create/15.2.3.5-4-18.js
index c0fcf7bc2c1e09121ee3c90dcc5c708a8fa1ef78..4bd85b5c0cc4a6e92b38348f63cf0ec0cc8a4f9e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-18.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-18.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-18
 description: >
     Object.create - an enumerable inherited data property in
     'Properties' is not defined in 'obj' (15.2.3.7 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         proto.prop = {};
@@ -21,6 +18,4 @@ function testcase() {
 
         var newObj = Object.create({}, child);
 
-        return !newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.hasOwnProperty("prop"), false, 'newObj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-180.js b/test/built-ins/Object/create/15.2.3.5-4-180.js
index fe38bb8143a70473ae8966f2915c3a3b14fec0ab..3f335be922525b33fa5fe324a73e92957ad30b3d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-180.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-180.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-180
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is own data property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: true
@@ -23,6 +20,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-181.js b/test/built-ins/Object/create/15.2.3.5-4-181.js
index 010eecf539ec87c3dc771670a83c5360f2914181..dd7c4798c565522332262446ca2476939b5f43b7 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-181.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-181.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-181
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is an inherited data property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             writable: true
         };
@@ -30,6 +27,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-182.js b/test/built-ins/Object/create/15.2.3.5-4-182.js
index f08429645cf345dea67db244c4ff4e0c70587e30..aab02965aa0087ebde3d76f860bb8ac2c06fed0e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-182.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-182.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'writable' property of one property in
     'Properties' is own data property that overrides an inherited data
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             writable: false
         };
@@ -33,6 +30,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-183.js b/test/built-ins/Object/create/15.2.3.5-4-183.js
index 92cc346e8a5185182dd8da3e80b579560a226c59..abd7e52bd076f30a75852a096f706df4af8c5312 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-183.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-183.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'writable' property of one property in
     'Properties' is own data property that overrides an inherited
     accessor property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "writable", {
@@ -39,6 +36,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-184.js b/test/built-ins/Object/create/15.2.3.5-4-184.js
index 19ed6dd5ece8a44afdc206c250dae10cd6de84bd..fdc42d8e6f805ec2809169cbd424af21204095e9 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-184.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-184.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-184
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is own accessor property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = {};
 
         Object.defineProperty(descObj, "writable", {
@@ -29,6 +26,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-185.js b/test/built-ins/Object/create/15.2.3.5-4-185.js
index 3b2a8a77d36f9f4d06416c1f577095006a61d17b..e1152493bfe0067f705e8823473a6d580b0834fa 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-185.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-185.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-185
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is an inherited accessor property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "writable", {
@@ -34,6 +31,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-186.js b/test/built-ins/Object/create/15.2.3.5-4-186.js
index 838a7052a2ca6f37da7239fd38ee9c96564cdd43..38eafffccf47b5fcc4be87c0c0be0d56e9b49fc7 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-186.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-186.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'writable' property of one property in
     'Properties' is own accessor property that overrides an inherited
     data property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             writable: false
         };
@@ -37,6 +34,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-187.js b/test/built-ins/Object/create/15.2.3.5-4-187.js
index 460f701ed677cd5364adb313459eb4a60fc7cae3..4419c8873a38ebce6b7267a2414a7e69aab645cf 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-187.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-187.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'writable' property of one property in
     'Properties' is own accessor property that overrides an inherited
     accessor property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "writable", {
@@ -41,6 +38,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-19.js b/test/built-ins/Object/create/15.2.3.5-4-19.js
index 9cc5a66dbd729c655390bda7a61f9528bbae8fc8..dce154b89c06adb4b32f2793bc4da44baad5c286 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-19.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-19.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-19
 description: >
     Object.create -  own enumerable accessor property in 'Properties'
     is defined in 'obj' (15.2.3.7 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = {};
 
         Object.defineProperty(props, "prop", {
@@ -22,6 +19,4 @@ function testcase() {
 
         var newObj = Object.create({}, props);
 
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-191.js b/test/built-ins/Object/create/15.2.3.5-4-191.js
index ad7fde542f0f317539b7b2d483d961ab1201eae8..974137f75ddc7ba11beaf0d70697bc4fde2b3d3d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-191.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-191.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Function object
     which implements its own [[Get]] method to access the 'writable'
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var Func = function (a, b) {
             return a + b;
         };
@@ -29,6 +26,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-192.js b/test/built-ins/Object/create/15.2.3.5-4-192.js
index 7d8f5981e680f142e6567bab0b0dd42f51084e36..6adc605917376cd3d23bec659576b1bd8219f27b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-192.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-192.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Array object
     that uses Object's [[Get]] method to access the 'writable'
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var array = [1, 2, 3];
 
         array.writable = true;
@@ -26,6 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-193.js b/test/built-ins/Object/create/15.2.3.5-4-193.js
index 777cb3da243730a9c16d4a2e0fb06120acd044d7..a4c1d21ba6e90ea6ddd08773e98becff179b2339 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-193.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-193.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a String object
     that uses Object's [[Get]] method to access the 'writable'
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var str = new String("abc");
 
         str.writable = true;
@@ -26,6 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-194.js b/test/built-ins/Object/create/15.2.3.5-4-194.js
index def67f8274fcf0b006b05e669dd50f9f7539b9dc..55fb8cc628f7bea690aea29414183e33a8c0dc35 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-194.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-194.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Boolean object
     that uses Object's [[Get]] method to access the 'writable'
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var booleanObj = new Boolean(false);
 
         booleanObj.writable = true;
@@ -26,6 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-195.js b/test/built-ins/Object/create/15.2.3.5-4-195.js
index c1506e722afa62a7369415798b42ea7767203504..75defcd96c89efdaa5cba188b4d2d2dbad9dcf9f 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-195.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-195.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Number object
     that uses Object's [[Get]] method to access the 'writable'
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var numObj = new Number(123);
 
         numObj.writable = true;
@@ -26,6 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-197.js b/test/built-ins/Object/create/15.2.3.5-4-197.js
index c0af3ddf686c2114a124fcf9979f27279941add0..826b411eee421e870d2493273a37c67f3ebc14dc 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-197.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-197.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Date object that
     uses Object's [[Get]] method to access the 'writable' property
     (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var dateObj = new Date();
 
         dateObj.writable = true;
@@ -26,6 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-198.js b/test/built-ins/Object/create/15.2.3.5-4-198.js
index 2f6cb41c78757d24b3576fdb2002aeea5290b2fb..549af5c863f5cb4c3ead301abba3fca66f685ed5 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-198.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-198.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a RegExp object
     that uses Object's [[Get]] method to access the 'writable'
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var regObj = new RegExp();
 
         regObj.writable = true;
@@ -26,6 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-2.js b/test/built-ins/Object/create/15.2.3.5-4-2.js
index 4ccc3d9281d0bd13e0429cbd2995da3c9dd572b5..773eec561de7566a83c1fd7e5d1e9a02f5a6420d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-2.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-2.js
@@ -4,12 +4,8 @@
 /*---
 es5id: 15.2.3.5-4-2
 description: Object.create - 'Properties' is undefined
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, undefined);
-        return (newObj instanceof Object);
-    }
-runTestCase(testcase);
+
+assert((newObj instanceof Object), '(newObj instanceof Object) !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-20.js b/test/built-ins/Object/create/15.2.3.5-4-20.js
index 7f066f5c3b8e7729e9281f8c16e725e55b0dd4a8..5a158b32b4a848ece33cd0405b0aa37f39dd4c63 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-20.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-20.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-20
 description: >
     Object.create - own accessor property in 'Properties' which is not
     enumerable is not defined in 'obj' (15.2.3.7 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = {};
 
         Object.defineProperty(props, "prop", {
@@ -22,6 +19,4 @@ function testcase() {
 
         var newObj = Object.create({}, props);
 
-        return !newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.hasOwnProperty("prop"), false, 'newObj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-200.js b/test/built-ins/Object/create/15.2.3.5-4-200.js
index 2dd3b011b5cd6c0451500dcc63b2e0dd663a5aa3..f5583aafdfa2b408b8d7e3f87300edbb6f976489 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-200.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-200.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Error object
     that uses Object's [[Get]] method to access the 'writable'
     property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var errorObj = new Error();
 
         errorObj.writable = true;
@@ -26,6 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-201.js b/test/built-ins/Object/create/15.2.3.5-4-201.js
index 99cafc9febde6ac38dc0517e9da639c1d5c17015..205a6f616ac3d52a550adb9d82e5ed1062274128 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-201.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-201.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Arguments
     object which implements its own [[Get]] method to access the
     'writable' property (8.10.5 step 6.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var argObj = (function () { return arguments; })();
 
         argObj.writable = true;
@@ -26,7 +23,5 @@ function testcase() {
 
         var afterWrite = (newObj.prop === "isWritable");
 
-        return beforeWrite === true && afterWrite === true;
-
-    }
-runTestCase(testcase);
+assert.sameValue(beforeWrite, true, 'beforeWrite');
+assert.sameValue(afterWrite, true, 'afterWrite');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-206.js b/test/built-ins/Object/create/15.2.3.5-4-206.js
index 6f5964bcfec338280f6f66c4ca19b92b438e964f..4f42500687413702ff6fa278f907faf83ec6b584 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-206.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-206.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-206
 description: >
     Object.create - 'writable' property of one property in
     'Properties'  is true (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: true
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-21.js b/test/built-ins/Object/create/15.2.3.5-4-21.js
index c223d4dfdfc0b77f537abb8cfdebb2aca687421c..178b2dcf67391e85835cc8dc92ca3187d27451db 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-21.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-21.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-21
 description: >
     Object.create - an enumerable inherited accessor property in
     'Properties' is not defined in 'obj' (15.2.3.7 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "prop", {
@@ -26,6 +23,4 @@ function testcase() {
 
         var newObj = Object.create({}, child);
 
-        return !newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.hasOwnProperty("prop"), false, 'newObj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-212.js b/test/built-ins/Object/create/15.2.3.5-4-212.js
index d742028c61ba73307efbe966ff358c32c8c7071b..b68ad748c5720e6c75b704fc5426fa2285789511 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-212.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-212.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-212
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a positive number primitive (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: 12
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-213.js b/test/built-ins/Object/create/15.2.3.5-4-213.js
index 0d6f2793d566d91c8a61d5fa975f3869b22b2fa5..69ee1f25bc07806772ecb0b18eae08235abb1890 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-213.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-213.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-213
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a negative number primitive (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: -9
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-215.js b/test/built-ins/Object/create/15.2.3.5-4-215.js
index e3cacb9c0abc5ea4730994b6c10ef0404fbe26a1..0a5b0e18725c256451252edd8acb77ba6e14b758 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-215.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-215.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-215
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a non-empty string (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: "abc"
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-216.js b/test/built-ins/Object/create/15.2.3.5-4-216.js
index 821c410b3a5a3b44419754c4dca788ae0d7c79e0..eb3b062e833ac7879a7b637e47d02c36826895a1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-216.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-216.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-216
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a Function object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: function () { }
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-217.js b/test/built-ins/Object/create/15.2.3.5-4-217.js
index 270c5ddbfd3d6b3a1efeb64973a6abd053bf4600..2bab6a18690010dc0c05786d539b71d3fced12d8 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-217.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-217.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-217
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is an Array object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: []
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-218.js b/test/built-ins/Object/create/15.2.3.5-4-218.js
index 4ebb7993e520dd87801387b6141e3c57eab464da..64a7de9c3a679eca88b0099e3048110ff02ce131 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-218.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-218.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-218
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a String object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: new String()
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-219.js b/test/built-ins/Object/create/15.2.3.5-4-219.js
index ba58108f8562aea38d99b87f6065cc5453d55c76..6965d7881d3353de8d1af9afd95e158abc047e64 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-219.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-219.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-219
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a Boolean object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: new Boolean()
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-22.js b/test/built-ins/Object/create/15.2.3.5-4-22.js
index 8d4f10899e62237618a669bdbafceb3ba1638de9..3ee831a5773dbadc3b985e541cb806b3b8d54dd1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-22.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-22.js
@@ -7,11 +7,8 @@ description: >
     Object.create -  own enumerable data property that overrides an
     enumerable inherited data property in 'Properties' is defined in
     'obj' (15.2.3.7 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         proto.prop = {
             value: "abc"
@@ -26,6 +23,5 @@ function testcase() {
         };
         var newObj = Object.create({}, child);
 
-        return newObj.hasOwnProperty("prop") && newObj.prop === "bbq";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(newObj.prop, "bbq", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-220.js b/test/built-ins/Object/create/15.2.3.5-4-220.js
index 43ac96eb1d6355c41301bc73c145673d1f666279..7cf13ce5cc8c1a72eb937db3f4e6b210f84396cd 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-220.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-220.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-220
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a Number object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: new Number()
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-221.js b/test/built-ins/Object/create/15.2.3.5-4-221.js
index 8375c163b274619941090dddddffef585fa10b4c..d380fc50cbef0ae6fa1af69e3575bc496126145d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-221.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-221.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-221
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is the Math object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: Math
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-222.js b/test/built-ins/Object/create/15.2.3.5-4-222.js
index 72c55840ad1c1bce1d0134bc3f9492e1b833a73e..28e848af122048f75b7ea5f37c729191ae3971d5 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-222.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-222.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-222
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a Date object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: new Date()
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-223.js b/test/built-ins/Object/create/15.2.3.5-4-223.js
index e58c18b59f0380a91086fd8d96131671c5f6c127..5a7b95b49d76e9faed44a89efb91ab8f64b0f418 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-223.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-223.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-223
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is a RegExp object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: new RegExp()
@@ -20,6 +17,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-224.js b/test/built-ins/Object/create/15.2.3.5-4-224.js
index 89b71f225a53bd79fc65088dd5df523bca63f62a..e5e392749072c7502056daea5dfe2043b5f174a9 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-224.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-224.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-224
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is the JSON object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: JSON
@@ -18,6 +15,6 @@ function testcase() {
         });
         var hasProperty = newObj.hasOwnProperty("prop");
         newObj.prop = 121;
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-225.js b/test/built-ins/Object/create/15.2.3.5-4-225.js
index 08c55f5a732a2f8392122b363c2e420b85ddd147..5c428978ef36b93570dffe694fdd0a15833e2381 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-225.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-225.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-225
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is an Error object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: new Error()
@@ -18,6 +15,6 @@ function testcase() {
         });
         var hasProperty = newObj.hasOwnProperty("prop");
         newObj.prop = 121;
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-226.js b/test/built-ins/Object/create/15.2.3.5-4-226.js
index e126f7f51211a04db4721856d53e13d77bd777e8..25f359e78a98a1a0f808eb342603491db203d0f4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-226.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-226.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-226
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is an Arguments object (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var argObj = (function () { return arguments; })();
 
         var newObj = Object.create({}, {
@@ -22,6 +19,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-228.js b/test/built-ins/Object/create/15.2.3.5-4-228.js
index 5dfeab0eba6f4aa9bd19aee5ba92d2740874cab9..7adb830f181f2e3f9e923010a9ca544e0ca1f015 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-228.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-228.js
@@ -6,13 +6,9 @@ es5id: 15.2.3.5-4-228
 description: >
     Object.create - 'writable' property of one property in
     'Properties' is the global object (8.10.5 step 6.b)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: fnGlobalObject()
@@ -22,6 +18,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-229.js b/test/built-ins/Object/create/15.2.3.5-4-229.js
index a7096016f6f05b27df6ec0a25d376b325558df10..b4ed3b4acb4096d59c558803131e7d0ae54e1024 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-229.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-229.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'writable' property of one property in
     'Properties' is a string (value is 'false') which is treated as
     the value true (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: "false"
@@ -21,6 +18,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-23.js b/test/built-ins/Object/create/15.2.3.5-4-23.js
index 83be5327d649c671d99b2d82f65d211853d56776..f7ebf041f8985b98a9a6ed8709588e7a759be521 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-23.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-23.js
@@ -7,11 +7,8 @@ description: >
     Object.create - own enumerable data property that overrides an
     enumerable inherited accessor property in 'Properties' is defined
     in 'obj' (15.2.3.7 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         Object.defineProperty(proto, "prop", {
             get: function () {
@@ -32,6 +29,5 @@ function testcase() {
         });
         var newObj = Object.create({}, child);
 
-        return newObj.hasOwnProperty("prop") && newObj.prop === 12;
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(newObj.prop, 12, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-230.js b/test/built-ins/Object/create/15.2.3.5-4-230.js
index 85bf5f66e5db7907d75150f02bdaec172c680ceb..392cacd8bcb8c1cf843b4f907e998fda680df702 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-230.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-230.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'writable' property of one property in
     'Properties' is new Boolean(false) which is treated as the value
     true (8.10.5 step 6.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 writable: new Boolean(false)
@@ -21,6 +18,5 @@ function testcase() {
 
         newObj.prop = 121;
 
-        return hasProperty && newObj.prop === 121;
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(newObj.prop, 121, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-231.js b/test/built-ins/Object/create/15.2.3.5-4-231.js
index 9b8cb9ee1f918a5ee6c943d10b331cced20de6de..d758b8a8d09f97777d144cb7d03cc8502eafbdb1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-231.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-231.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-231
 description: >
     Object.create - 'get'  property of one property in 'Properties' is
     present (8.10.5 step 7)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 get: function () {
@@ -18,6 +15,5 @@ function testcase() {
                 }
             }
         });
-        return newObj.prop === "present";
-    }
-runTestCase(testcase);
+
+assert.sameValue(newObj.prop, "present", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-232.js b/test/built-ins/Object/create/15.2.3.5-4-232.js
index b2cce11111012e0fd65073589fa74e5f43786a4f..f7edbce48ffdaf95942ce9c4d7ad79704660443a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-232.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-232.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.5-4-232
 description: >
     Object.create - 'get'  property of one property in 'Properties' is
     not present (8.10.5 step 7)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {}
         });
-        return typeof (newObj.prop) === "undefined";
-    }
-runTestCase(testcase);
+
+assert.sameValue(typeof (newObj.prop), "undefined", 'typeof (newObj.prop)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-233.js b/test/built-ins/Object/create/15.2.3.5-4-233.js
index 993a7d567fb67442b67ef07776faf7a5428a01f2..d0f6b3979ac4d9e681abb00eb7375d41c3633461 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-233.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-233.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-233
 description: >
     Object.create - 'get' property of one property in 'Properties' is
     own data property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 get: function () {
@@ -18,6 +15,5 @@ function testcase() {
                 }
             }
         });
-        return newObj.prop === "ownDataProperty";
-    }
-runTestCase(testcase);
+
+assert.sameValue(newObj.prop, "ownDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-234.js b/test/built-ins/Object/create/15.2.3.5-4-234.js
index ea566822645332f68b08c364bb7ac341f8c71178..6d53c01f2f6e41b39437c66145b1de3be7470efc 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-234.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-234.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-234
 description: >
     Object.create - 'get' property of one property in 'Properties' is
     an inherited data property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             get: function () {
                 return "inheritedDataProperty";
@@ -26,6 +23,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "inheritedDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "inheritedDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-235.js b/test/built-ins/Object/create/15.2.3.5-4-235.js
index a2918b306c7e4071f8f6002c630cbd64c37f8e9e..67474ae09cb528b328810031bed1e51ed34b99a2 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-235.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-235.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'get' property of one property in 'Properties' is
     own data property that overrides an inherited data property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             get: function () {
                 return "inheritedDataProperty";
@@ -33,6 +30,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-236.js b/test/built-ins/Object/create/15.2.3.5-4-236.js
index 0836167dd14fda3fb88da5233ea78f0e89759e66..dd0bab3da92669845e09f6c1ab5cbd2d0793aedb 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-236.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-236.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'get' property of one property in 'Properties' is
     own data property that overrides an inherited accessor property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "get", {
@@ -36,6 +33,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownDataProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-237.js b/test/built-ins/Object/create/15.2.3.5-4-237.js
index ec76d11a298c6bbb3c66c90a12a32a1dde2ffa75..9ff6e5ec1926d596677ee2a7858c9d50a1991251 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-237.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-237.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-237
 description: >
     Object.create - 'get' property of one property in 'Properties' is
     own accessor property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var descObj = {};
 
         Object.defineProperty(descObj, "get", {
@@ -25,6 +22,4 @@ function testcase() {
             prop: descObj 
         });
 
-        return newObj.prop === "ownAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-238.js b/test/built-ins/Object/create/15.2.3.5-4-238.js
index b80629d8d9612eaeb97488cc3e6f5e614dc82ccd..bd1d724273284995b0d341c98b2aa632272c4099 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-238.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-238.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-238
 description: >
     Object.create - 'get' property of one property in 'Properties' is
     an inherited accessor property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
 
         Object.defineProperty(proto, "get", {
@@ -29,6 +26,4 @@ function testcase() {
             prop: descObj 
         });
 
-        return newObj.prop === "inheritedAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "inheritedAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-239.js b/test/built-ins/Object/create/15.2.3.5-4-239.js
index 2c310851a82392ae0eafb9bc74c71f0ad7d516e2..33af127302af7f114e636884597847cd2e8af9f5 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-239.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-239.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'get' property of one property in 'Properties' is
     own accessor property that overrides an inherited data property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var proto = {
             get: function () {
                 return "inheritedDataProperty";
@@ -33,6 +31,4 @@ function testcase() {
             prop: descObj
         });
 
-        return newObj.prop === "ownAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-24.js b/test/built-ins/Object/create/15.2.3.5-4-24.js
index 020269a8e7e185b6afdbaeeb88eb86240cc7bcde..3e9958961bea3ed0246c93941bcfbcd492ba6690 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-24.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-24.js
@@ -7,11 +7,8 @@ description: >
     Object.create - own enumerable accessor property that overrides an
     enumerable inherited data property in 'Properties' is defined in
     'obj' (15.2.3.7 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         proto.prop = {
             value: 12
@@ -32,6 +29,5 @@ function testcase() {
 
         var newObj = Object.create({}, child);
 
-        return newObj.hasOwnProperty("prop") && newObj.prop === 9;
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(newObj.prop, 9, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-240.js b/test/built-ins/Object/create/15.2.3.5-4-240.js
index 296e8a6c4b3c1f4d9cf3a3ecb77cd82061c4ff93..82839e1df307d6f2bc09d213296c976bf72938a6 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-240.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-240.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'get' property of one property in 'Properties' is
     own accessor property that overrides an inherited accessor
     property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var proto = {};
 
         Object.defineProperty(proto, "get", {
@@ -37,6 +35,4 @@ function testcase() {
             prop: descObj 
         });
 
-        return newObj.prop === "ownAccessorProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "ownAccessorProperty", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-241.js b/test/built-ins/Object/create/15.2.3.5-4-241.js
index 302ccdda3c3b8613cf65186b6bc30a4e4172f66e..a5621412b4cf79b68d3de1b2f95a39bd223fa635 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-241.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-241.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-241
 description: >
     Object.create - 'get' property of one property in 'Properties' is
     own accessor property without a get function (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var descObj = {};
 
         Object.defineProperty(descObj, "get", {
@@ -20,6 +18,5 @@ function testcase() {
             prop: descObj 
         });
 
-        return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof (newObj.prop), "undefined", 'typeof (newObj.prop)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-242.js b/test/built-ins/Object/create/15.2.3.5-4-242.js
index 623b388dc226811027c861cb61eb28d9501705de..ceca51dcc12273384247df18ccbe05a0b1d17653 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-242.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-242.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'get' property of one property in 'Properties' is
     own accessor property without a get function, which overrides an
     inherited accessor property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var proto = {};
 
         Object.defineProperty(proto, "get", {
@@ -33,6 +31,5 @@ function testcase() {
             prop: descObj 
         });
 
-        return newObj.hasOwnProperty("prop") && typeof newObj.prop === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof newObj.prop, "undefined", 'typeof newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-243.js b/test/built-ins/Object/create/15.2.3.5-4-243.js
index ea49b7021b26f61cb4a46d1026fc2fdcfce78c21..05b2a20145d79a4b66e001ee72120df15cdf9d4e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-243.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-243.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'get' property of one property in 'Properties' is
     an inherited accessor property without a get function (8.10.5 step
     7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var proto = {};
 
         Object.defineProperty(proto, "get", {
@@ -25,6 +23,5 @@ function testcase() {
             prop: descObj 
         });
 
-        return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof (newObj.prop), "undefined", 'typeof (newObj.prop)');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-244.js b/test/built-ins/Object/create/15.2.3.5-4-244.js
index 692f3dc68b724866060bb44fe6b209e4c41e9a47..d1c448d76d2fb5372611b08da77d8dd654c3f628 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-244.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-244.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Function object
     which implements its own [[Get]] method to access the 'get'
     property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var funObj = function () {};
 
         funObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: funObj
         });
 
-        return newObj.prop === "VerifyFunctionObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyFunctionObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-245.js b/test/built-ins/Object/create/15.2.3.5-4-245.js
index 13eeec3f0cb029b90b7cfff9c799da1f9edb192e..98bdaae83502de8e00ce5f61fc21d633780191c8 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-245.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-245.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Array object
     that uses Object's [[Get]] method to access the 'get' property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var arrayObj = [1, 2, 3];
 
         arrayObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: arrayObj
         });
 
-        return newObj.prop === "VerifyArrayObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyArrayObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-246.js b/test/built-ins/Object/create/15.2.3.5-4-246.js
index 6eb0d11830a205c88d6c69678f5231497a874af2..83543f250afa0996847641d6c776785490b76e31 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-246.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-246.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a String object
     that uses Object's [[Get]] method to access the 'get' property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var strObj = new String("abc");
 
         strObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: strObj
         });
 
-        return newObj.prop === "VerifyStringObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyStringObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-247.js b/test/built-ins/Object/create/15.2.3.5-4-247.js
index 15b4826e7d795400fdb81fbb014b30d7c0bb7a79..2307c1f41958ad557f56cb4a2696ac21a4ab9f62 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-247.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-247.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Boolean object
     that uses Object's [[Get]] method to access the 'get' property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var boolObj = new Boolean(true);
 
         boolObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: boolObj 
         });
 
-        return newObj.prop === "VerifyBooleanObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyBooleanObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-248.js b/test/built-ins/Object/create/15.2.3.5-4-248.js
index cf1ca8f2193b9a2cfb92981976f6804225c64a11..441c41f6feb96688ec634f5d81caf255e0741476 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-248.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-248.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Number object
     that uses Object's [[Get]] method to access the 'get' property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var numObj = new Number(5);
 
         numObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: numObj 
         });
 
-        return newObj.prop === "VerifyNumberObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyNumberObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-249.js b/test/built-ins/Object/create/15.2.3.5-4-249.js
index 384ed105d282db3211d438061d985dfa805a381e..5144160400bd5283f1523881f881d718278dad18 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-249.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-249.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Date object that
     uses Object's [[Get]] method to access the 'get' property (8.10.5
     step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var dateObj = new Date();
 
         dateObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: dateObj 
         });
 
-        return newObj.prop === "VerifyDateObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyDateObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-25.js b/test/built-ins/Object/create/15.2.3.5-4-25.js
index 7456391d7e91a556552323d59917c2f7cb9da586..d4aa1a0791a30f1405cfe44184b95bda32b0a094 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-25.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-25.js
@@ -7,11 +7,8 @@ description: >
     Object.create - own enumerable accessor property that overrides an
     enumerable inherited accessor property in 'Properties' is defined
     in 'obj' (15.2.3.7 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         Object.defineProperty(proto, "prop", {
             get: function () {
@@ -36,6 +33,5 @@ function testcase() {
         });
         var newObj = Object.create({}, child);
 
-        return newObj.hasOwnProperty("prop") && newObj.prop === 12;
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(newObj.prop, 12, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-250.js b/test/built-ins/Object/create/15.2.3.5-4-250.js
index 311c74a9191329511065e4d11b22261775675451..861c07e15e13ed1d969b43f4ccd8ac62b07f559c 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-250.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-250.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a RegExp object
     that uses Object's [[Get]] method to access the 'get' property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var regObj = new RegExp();
 
         regObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: regObj
         });
 
-        return newObj.prop === "VerifyRegExpObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyRegExpObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-253.js b/test/built-ins/Object/create/15.2.3.5-4-253.js
index e389d33c1f26c237aeff917d9982374ad689f011..06515f7f245ec8b2bce39018e755099ea81aa62d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-253.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-253.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Error object
     that uses Object's [[Get]] method to access the 'get' property
     (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var errObj = new Error("error");
 
         errObj.get = function () {
@@ -21,6 +19,4 @@ function testcase() {
             prop: errObj 
         });
 
-        return newObj.prop === "VerifyErrorObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyErrorObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-254.js b/test/built-ins/Object/create/15.2.3.5-4-254.js
index ad99114bd6f49deadd0ed9b1341451c28a4d0194..e315a8ae4a6ea5156eb517a9fa4dccc089118d49 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-254.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-254.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Arguments
     object which implements its own [[Get]] method to access the 'get'
     property (8.10.5 step 7.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var argObj = (function () { return arguments; })();
 
         argObj.get = function () {
@@ -22,6 +19,4 @@ function testcase() {
             prop: argObj
         });
 
-        return newObj.prop === "VerifyArgumentsObject";
-    }
-runTestCase(testcase);
+assert.sameValue(newObj.prop, "VerifyArgumentsObject", 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-257.js b/test/built-ins/Object/create/15.2.3.5-4-257.js
index 3c5e474ce06a08a441008522394c6cf643ef6938..ca56dae002a965c09a60ada8fdb2f384823136a0 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-257.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-257.js
@@ -6,16 +6,13 @@ es5id: 15.2.3.5-4-257
 description: >
     Object.create - 'get' property of one property in 'Properties' is
     undefined (8.10.5 step 7.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var newObj = Object.create({}, {
             prop: {
                 get: undefined
             }
         });
 
-        return newObj.hasOwnProperty("prop") && typeof newObj.prop === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof newObj.prop, "undefined", 'typeof newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-263.js b/test/built-ins/Object/create/15.2.3.5-4-263.js
index 2c023f92534a9fb2f249ddbb2b75f1733133e880..36e92fb03e15eaf0ae1618b82a8730c14b64bf03 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-263.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-263.js
@@ -6,16 +6,13 @@ es5id: 15.2.3.5-4-263
 description: >
     Object.create - 'get' property of one property in 'Properties' is
     a function (8.10.5 step 7.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var newObj = Object.create({}, {
             prop: {
                 get: function () { }
             }
         });
 
-        return newObj.hasOwnProperty("prop") && typeof newObj.prop === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof newObj.prop, "undefined", 'typeof newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-266.js b/test/built-ins/Object/create/15.2.3.5-4-266.js
index b37497f5b0c7eb9e3121b0fdaca28b4021b63bdc..7711341d24d729f3bb13817f3dcccd6680420f8f 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-266.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-266.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-266
 description: >
     Object.create - 'set' property of one property in 'Properties' is
     present (8.10.5 step 8)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data = "data";
 
         var newObj = Object.create({}, {
@@ -24,6 +22,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-268.js b/test/built-ins/Object/create/15.2.3.5-4-268.js
index 289dd4e2b2f07a5f15c5b2e7e4e3e68d17a66f51..60f58383e84feea3d3865d2757bfc1500c3a7e0d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-268.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-268.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-268
 description: >
     Object.create - 'set' property of one property in 'Properties' is
     own data property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data = "data";
 
         var newObj = Object.create({}, {
@@ -24,6 +22,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-269.js b/test/built-ins/Object/create/15.2.3.5-4-269.js
index 248c7ef940cdd7a8108e57bcdd7fdd865c5fe432..d09f86e9874e115223b7c1322f3078ab0ee6ccae 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-269.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-269.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-269
 description: >
     Object.create - 'set' property of one property in 'Properties' is
     an inherited data property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data = "data";
         var proto = {
             set: function (value) {
@@ -29,6 +27,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-270.js b/test/built-ins/Object/create/15.2.3.5-4-270.js
index 6f435655ec7d6d7cf13e9626fa3570f1708f5e60..229ab992865550bee3cd4b7a482a3d93395ba836 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-270.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-270.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'set' property of one property in 'Properties' is
     own data property that overrides an inherited data property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data1 = "data";
         var data2 = "data";
         var proto = {
@@ -34,6 +32,6 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data1 === "overrideData" && data2 === "data";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data1, "overrideData", 'data1');
+assert.sameValue(data2, "data", 'data2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-271.js b/test/built-ins/Object/create/15.2.3.5-4-271.js
index 009a8c981cce83c85f2ba2113f763319a0f4b315..81e2538bb7da31e0f46e493e852259b6e930e658 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-271.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-271.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'set' property of one property in 'Properties' is
     own data property that overrides an inherited accessor property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data1 = "data";
         var data2 = "data";
 
@@ -40,6 +38,6 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data1 === "overrideData" && data2 === "data";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data1, "overrideData", 'data1');
+assert.sameValue(data2, "data", 'data2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-272.js b/test/built-ins/Object/create/15.2.3.5-4-272.js
index 96ae4d32b723c8d241275f5f64bf12c50114051c..210068b1b554b8b47a5217ead5eb7426ff2f0945 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-272.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-272.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-272
 description: >
     Object.create - 'set' property of one property in 'Properties' is
     own accessor property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data = "data";
         var descObj = {};
 
@@ -29,6 +27,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-273.js b/test/built-ins/Object/create/15.2.3.5-4-273.js
index 3e705ca266e96b12143b9a0cb759fb59bb10a4fc..4d274295a917abee13f93624ee61b0e183385d6b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-273.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-273.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-273
 description: >
     Object.create - 'set' property of one property in 'Properties' is
     an inherited accessor property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data = "data";
         var proto = {};
 
@@ -33,6 +31,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-274.js b/test/built-ins/Object/create/15.2.3.5-4-274.js
index b7e2f04663a8904bcc697c5bb5b0eed37e5b571a..38d4b172abc011104f61f3c6cfe094c2327a5251 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-274.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-274.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'set' property of one property in 'Properties' is
     own accessor property that overrides an inherited data property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data1 = "data";
         var data2 = "data";
 
@@ -38,6 +36,6 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data1 === "overrideData" && data2 === "data";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data1, "overrideData", 'data1');
+assert.sameValue(data2, "data", 'data2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-275.js b/test/built-ins/Object/create/15.2.3.5-4-275.js
index 8770d0c86e1ed0b8a6d6dd20138cd64a57966cec..3db96d6f070500e5247b307b145e87e18feda6bb 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-275.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-275.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'set' property of one property in 'Properties' is
     own accessor property that overrides an inherited accessor
     property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data1 = "data";
         var data2 = "data";
         var proto = {};
@@ -42,6 +40,6 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data1 === "overrideData" && data2 === "data";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data1, "overrideData", 'data1');
+assert.sameValue(data2, "data", 'data2');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-276.js b/test/built-ins/Object/create/15.2.3.5-4-276.js
index a0630d49e86f60310db06a9c05f344d4edf17419..da31aa0b685add2f189a45019fa4f1c43ac153e5 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-276.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-276.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-276
 description: >
     Object.create - 'set' property of one property in 'Properties' is
     own accessor property without a get function (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var descObj = {};
         Object.defineProperty(descObj, "set", {
             set: function () { }
@@ -23,6 +21,5 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(newObj, "prop");
 
-        return hasProperty && typeof desc.set === "undefined";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-277.js b/test/built-ins/Object/create/15.2.3.5-4-277.js
index a691a02fabb5403a7a584ef5f7a230444fe75b8c..32768a89c2f4cd4a7a68fcf57b70c78ff293af34 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-277.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-277.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'set' property of one property in 'Properties' is
     own accessor property without a get function, which overrides an
     inherited accessor property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var proto = {};
         Object.defineProperty(proto, "set", {
             get: function () {
@@ -31,6 +29,5 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(newObj, "prop");
 
-        return newObj.hasOwnProperty("prop") && typeof desc.set === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-278.js b/test/built-ins/Object/create/15.2.3.5-4-278.js
index 16852bc131b648561bbe16265acaff0b74de0ea2..a90edec9a5510b9defee9a2ff7f86736f46242cf 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-278.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-278.js
@@ -7,10 +7,8 @@ description: >
     Object.create - 'set' property of one property in 'Properties' is
     an inherited accessor property without a get function (8.10.5 step
     8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var proto = {};
         Object.defineProperty(proto, "set", {
             set: function () { }
@@ -26,6 +24,5 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(newObj, "prop");
 
-        return newObj.hasOwnProperty("prop") && typeof desc.set === "undefined";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-279.js b/test/built-ins/Object/create/15.2.3.5-4-279.js
index 2ad1ac769147113b528750b4ac18dc1a13e9ad44..6dde3c53489e6839b84cb540ace0e6baa87b3dc5 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-279.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-279.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Function object
     which implements its own [[Get]] method to access the 'set'
     property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var funObj = function () { };
         var data = "data";
         funObj.set = function (value) {
@@ -25,6 +23,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-28.js b/test/built-ins/Object/create/15.2.3.5-4-28.js
index 7faa89554cf8c7a3d91ca088e69223aebb0de751..ad5b99f6f325e451ff234f39899ee9119b750916 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-28.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-28.js
@@ -7,17 +7,13 @@ description: >
     Object.create - 'Properties' is a Function object which implements
     its own [[Get]] method to access own enumerable property (15.2.3.7
     step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = function () { };
         props.prop = {
             value: 12,
             enumerable: true
         };
         var newObj = Object.create({}, props);
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-280.js b/test/built-ins/Object/create/15.2.3.5-4-280.js
index 145e5e1e2d0b0f50b41597039bca317d9062f17e..870f30857af4e8689f250ab641f46fd797da27c3 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-280.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-280.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Array object
     that uses Object's [[Get]] method to access the 'set' property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var arrObj = [];
         var data = "data";
         arrObj.set = function (value) {
@@ -25,6 +23,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-281.js b/test/built-ins/Object/create/15.2.3.5-4-281.js
index fb738fd774d7025e35fa9b64ce2538e2bdc13a4c..e21b55dff826fbf3d9d779623bd977fc8cede8b0 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-281.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-281.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a String object
     that uses Object's [[Get]] method to access the 'set' property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var strObj = new String();
         var data = "data";
         strObj.set = function (value) {
@@ -25,6 +23,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-282.js b/test/built-ins/Object/create/15.2.3.5-4-282.js
index 29b22dd8c6f09aadca370ea0cfb378f741bd2828..88805140c7f958c003de139019846a5afe7fb93c 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-282.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-282.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Boolean object
     that uses Object's [[Get]] method to access the 'set' property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var boolObj = new Boolean(true);
         var data = "data";
         boolObj.set = function (value) {
@@ -25,6 +23,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-283.js b/test/built-ins/Object/create/15.2.3.5-4-283.js
index 29f5aaefdcd26ebaa343816b88c1b7d4b9a69641..16bbd2655cc6b0d908cc9bd3ff157514899e5646 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-283.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-283.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Number object
     that uses Object's [[Get]] method to access the 'set' property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var numObj = new Number(5);
         var data = "data";
         numObj.set = function (value) {
@@ -25,6 +23,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-285.js b/test/built-ins/Object/create/15.2.3.5-4-285.js
index 3fd9454884d89a75d5129234b2cc1be9b1b3c831..1bf31557bc9cb8dbf1c8aa8c55b890df915cc7b3 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-285.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-285.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Date object that
     uses Object's [[Get]] method to access the 'set' property (8.10.5
     step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var dateObj = new Date();
         var data = "data";
         dateObj.set = function (value) {
@@ -25,6 +23,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-286.js b/test/built-ins/Object/create/15.2.3.5-4-286.js
index 8ea9cbd353e29b2db74b5c7bc02a1233bfd3ba39..15e839baff862c9f0804829a04406cafa74a28df 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-286.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-286.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a RegExp object
     that uses Object's [[Get]] method to access the 'set' property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var regObj = new RegExp();
         var data = "data";
         regObj.set = function (value) {
@@ -25,6 +23,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-288.js b/test/built-ins/Object/create/15.2.3.5-4-288.js
index c36e731f2dd58ee127dd52094534cadb7e70274a..1db623aa7e0722869d4e78d9f43867aaaa17689a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-288.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-288.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Error object
     that uses Object's [[Get]] method to access the 'set' property
     (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var errObj = new Error("error");
         var data = "data";
 
@@ -24,6 +22,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return newObj.hasOwnProperty("prop") && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-289.js b/test/built-ins/Object/create/15.2.3.5-4-289.js
index 1b4816450794f9dcee097152ad087b492f54d905..f14ebb66746ae40e5181a996328271cd76f46966 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-289.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-289.js
@@ -7,10 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Arguments
     object which implements its own [[Get]] method to access the 'set'
     property (8.10.5 step 8.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var argObj = (function () { return arguments; })();
 
         var data = "data";
@@ -27,6 +25,5 @@ function testcase() {
 
         newobj.prop = "overrideData";
 
-        return hasProperty && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-29.js b/test/built-ins/Object/create/15.2.3.5-4-29.js
index 0ca27e2d2190001b14088c530850cc81bea97254..bcd6fdb5186a3acefa5606d6b0af46e1f3587e4b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-29.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-29.js
@@ -7,17 +7,13 @@ description: >
     Object.create - 'Properties' is an Array object that uses Object's
     [[Get]] method to access own enumerable property (15.2.3.7 step
     5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = [];
         props.prop = {
             value: {},
             enumerable: true
         };
         var newObj = Object.create({}, props);
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-298.js b/test/built-ins/Object/create/15.2.3.5-4-298.js
index 6dc9746e8c22d94f0087027a32e66a29f459578b..e47f6121d07f7f2be224a7ab7189ff93d4ef88cf 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-298.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-298.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-298
 description: >
     Object.create - 'set' property of one property in 'Properties' is
     a function (8.10.5 step 8.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var data = "data";
 
         var newObj = Object.create({}, {
@@ -22,6 +20,5 @@ function testcase() {
 
         newObj.prop = "overrideData";
 
-        return newObj.hasOwnProperty("prop") && data === "overrideData";
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(data, "overrideData", 'data');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-30.js b/test/built-ins/Object/create/15.2.3.5-4-30.js
index 701ef24e8b066be6913773f5cd2187064e15ec60..13b59d8afbe244a8346cb5b2e22cba28097df52e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-30.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-30.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'Properties' is a String object that uses Object's
     [[Get]] method to access own enumerable property (15.2.3.7 step
     5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new String();
         props.prop = {
             value: 12,
@@ -19,6 +16,4 @@ function testcase() {
         };
         var newObj = Object.create({}, props);
 
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-308.js b/test/built-ins/Object/create/15.2.3.5-4-308.js
index 57286d1f46ce99b903100e281ee41aea5c1ce209..07980d287890be5e6372c1e99d5a6522d3fce373 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-308.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-308.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.5-4-308
 description: >
     Object.create - [[Enumerable]] is set as false if it is absent in
     data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var isEnumerable = false;
 
         var newObj = Object.create({}, {
@@ -27,6 +25,6 @@ function testcase() {
                 isEnumerable = true;
             }
         }
-        return hasProperty && !isEnumerable;
-    }
-runTestCase(testcase);
+
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(isEnumerable, false, 'isEnumerable');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-31.js b/test/built-ins/Object/create/15.2.3.5-4-31.js
index d1b3048d71d57b4505f6bbc70654c0fd234d4553..45044ed2f39d843216d84f7157d7c784740044ab 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-31.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-31.js
@@ -7,17 +7,13 @@ description: >
     Object.create - 'Properties' is a Boolean object that uses
     Object's [[Get]] method to access own enumerable property
     (15.2.3.7 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Boolean(false);
         props.prop = {
             value: 12,
             enumerable: true
         };
         var newObj = Object.create({}, props);
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-310.js b/test/built-ins/Object/create/15.2.3.5-4-310.js
index e91e31d61b14bde3d76e1a4f7f0bca282ce01a04..e61fac09dfb7fc6df7f5984cd350a02d2ff09b62 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-310.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-310.js
@@ -7,10 +7,8 @@ description: >
     Object.create - [[Get]] is set as undefined if it is absent in
     accessor descriptor of one property in 'Properties' (8.12.9 step
     4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var newObj = Object.create({}, {
             prop: {
                 set: function () { },
@@ -18,6 +16,6 @@ function testcase() {
                 configurable: true
             }
         });
-        return newObj.hasOwnProperty("prop") && newObj.prop === undefined;
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
+assert.sameValue(newObj.prop, undefined, 'newObj.prop');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-311.js b/test/built-ins/Object/create/15.2.3.5-4-311.js
index 03cce03798813e831bbdb9d3aa73d4fe81aad3d0..c9e5b2cf44c62e9ea805bbb2637946a1fad91d09 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-311.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-311.js
@@ -7,10 +7,8 @@ description: >
     Object.create - [[Set]] is set as undefined if it is absent in
     accessor descriptor of one property in 'Properties' (8.12.9 step
     4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var newObj = Object.create({}, {
             prop: {
                 get: function () {
@@ -41,6 +39,7 @@ function testcase() {
         delete newObj.prop;
         verifyConfigurable = !newObj.hasOwnProperty("prop") && hasProperty;
 
-        return verifySet && verifyGet && verifyEnumerable && verifyConfigurable;
-    }
-runTestCase(testcase);
+assert(verifySet, 'verifySet !== true');
+assert(verifyGet, 'verifyGet !== true');
+assert(verifyEnumerable, 'verifyEnumerable !== true');
+assert(verifyConfigurable, 'verifyConfigurable !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-312.js b/test/built-ins/Object/create/15.2.3.5-4-312.js
index a5b4197c7d1c382848faa46188d2f2f75db47854..d6e54fa1754a374782b4224421f8db20842dae8e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-312.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-312.js
@@ -7,10 +7,8 @@ description: >
     Object.create - [[Enumerable]] is set as false if it is absent in
     accessor descriptor of one property in 'Properties' (8.12.9 step
     4.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var isEnumerable = false;
         var newObj = Object.create({}, {
             prop: {
@@ -25,6 +23,6 @@ function testcase() {
                 isEnumerable = true;
             }
         }
-        return hasProperty && !isEnumerable;
-    }
-runTestCase(testcase);
+
+assert(hasProperty, 'hasProperty !== true');
+assert.sameValue(isEnumerable, false, 'isEnumerable');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-314.js b/test/built-ins/Object/create/15.2.3.5-4-314.js
index cf94ee6c1f4b1f8878acb012b8a5bdaa5a7eca82..7fd8b2b126ac92b9104d6516799b7ce5ab28e1d5 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-314.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-314.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.5-4-314
 description: >
     Object.create - some enumerable own property in 'Properties' is
     empty object (15.2.3.7 step 7)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             foo: {}
         });
-        return newObj.hasOwnProperty("foo");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("foo"), 'newObj.hasOwnProperty("foo") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-316.js b/test/built-ins/Object/create/15.2.3.5-4-316.js
index c8da26432374ea4b58b2105054b2d512d002ef94..bc43715d498c463bc7b12d2e3e6689ec71d834dc 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-316.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-316.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-316
 description: >
     Object.create - enumerable properties of 'Properties' are given
     numerical names (15.2.3.7 step 7)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         function getFunc() {
             return 20;
         }
@@ -36,6 +33,7 @@ function testcase() {
                 configurable: true
             }
         });
-        return newObj[0] === 100 && newObj[1] === 20 && newObj[2] === 200;
-    }
-runTestCase(testcase);
+
+assert.sameValue(newObj[0], 100, 'newObj[0]');
+assert.sameValue(newObj[1], 20, 'newObj[1]');
+assert.sameValue(newObj[2], 200, 'newObj[2]');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-32.js b/test/built-ins/Object/create/15.2.3.5-4-32.js
index b6eab8f35fddcd11b77df291fed11c17324d0348..2e4d7c43654d6e9adeb74d41b6fc03594ca06906 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-32.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-32.js
@@ -7,17 +7,13 @@ description: >
     Object.create - 'Properties' is a Number object that uses Object's
     [[Get]] method to access own enumerable property (15.2.3.7 step
     5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Number(-9);
         props.prop = {
             value: 12,
             enumerable: true
         };
         var newObj = Object.create({}, props);
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-34.js b/test/built-ins/Object/create/15.2.3.5-4-34.js
index cc998a4e99fe5a54baafba4cae4a026b5c886a48..33bf19e07f21e9519ca59b00bb32f8f0e4930dc1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-34.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-34.js
@@ -7,17 +7,13 @@ description: >
     Object.create - 'Properties' is a Date object that uses Object's
     [[Get]] method to access own enumerable property (15.2.3.7 step
     5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Date();
         props.prop = {
             value: 12,
             enumerable: true
         };
         var newObj = Object.create({}, props);
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-35.js b/test/built-ins/Object/create/15.2.3.5-4-35.js
index 9f92d11226d71f4570ac7d5b0fbf092e9b4e8cfa..effb3e92e786d584934873871f615e55f2c2832f 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-35.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-35.js
@@ -7,17 +7,13 @@ description: >
     Object.create - 'Properties' is a RegExp object that uses Object's
     [[Get]] method to access own enumerable property (15.2.3.7 step
     5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new RegExp();
         props.prop = {
             value: 12,
             enumerable: true
         };
         var newObj = Object.create({}, props);
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-37.js b/test/built-ins/Object/create/15.2.3.5-4-37.js
index 73be77d039a1e347504c33500be94fffd6964d73..dcef0aea44b24fa2bfbf0ad922beceb679aa594e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-37.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-37.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'Properties' is an Error object that uses Object's
     [[Get]] method to access own enumerable property (15.2.3.7 step
     5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Error("test");
 
         (Object.getOwnPropertyNames(props)).forEach(function(name){
@@ -23,6 +20,5 @@ function testcase() {
             enumerable: true
         };
         var newObj = Object.create({}, props);
-        return newObj.hasOwnProperty("prop15_2_3_5_4_37");
-    }
-runTestCase(testcase);
+
+assert(newObj.hasOwnProperty("prop15_2_3_5_4_37"), 'newObj.hasOwnProperty("prop15_2_3_5_4_37") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-38.js b/test/built-ins/Object/create/15.2.3.5-4-38.js
index ec131fc01c703d9c716e7a349c9b21c1e7cd3003..b0ffcabf089ea198fad6c9ea8b9bf5e137bc8f4b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-38.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-38.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'Properties' is an Arguments object which
     implements its own [[Get]] method to access own enumerable
     property (15.2.3.7 step 5.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var argObj = (function () { return arguments; })();
 
         argObj.prop = {
@@ -21,6 +18,4 @@ function testcase() {
 
         var newObj = Object.create({}, argObj);
 
-        return newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-4.js b/test/built-ins/Object/create/15.2.3.5-4-4.js
index 0f49788184dd539826ee3abf0c073bfce5272c11..5cf42f78eca85aa3e18d2558351eb001ca997b82 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-4.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-4.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-4
 description: >
     Object.create - argument 'Properties' is an object (15.2.3.7 step
     2).
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = {};
         var result = false;
 
@@ -22,6 +19,5 @@ function testcase() {
             enumerable: true
         });
         Object.create({}, props);
-        return result;
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-46.js b/test/built-ins/Object/create/15.2.3.5-4-46.js
index 5fcb57f03c0b5b4582099b4b2a6b7f93d166de5f..b0bc6c13be90ea7862b53e031b1b7b3a0af6909b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-46.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-46.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-46
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is true (8.10.5 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var newObj = Object.create({}, {
             prop: {
@@ -22,7 +19,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
 
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-47.js b/test/built-ins/Object/create/15.2.3.5-4-47.js
index 39dfbbfe58db54472ab72399fe70dc262af30caa..1fc56ec9d646ecbf745240c8ee97a6cbe0b3309f 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-47.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-47.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-47
 description: >
     Object.create  - 'enumerable' property of one property in
     'Properties' is not present (8.10.5 step 3)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -21,7 +18,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
 
-    }
-runTestCase(testcase);
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-48.js b/test/built-ins/Object/create/15.2.3.5-4-48.js
index 879d46eedd4de7b5e725cf7a7b16aa59a845455c..5c4b6e0b4b978b188385527dd0bbb24f6fa6c0bc 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-48.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-48.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-48
 description: >
     Object.create  - 'enumerable' property of one property in
     'Properties' is own data property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -24,6 +21,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-49.js b/test/built-ins/Object/create/15.2.3.5-4-49.js
index 25ca4bce403ed9dc15ffe23ee0cc89069756ad88..77261ab2650fe814e6f3d3176c21cf356e411f42 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-49.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-49.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-49
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is an inherited data property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var proto = {
@@ -29,7 +26,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
 
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-5.js b/test/built-ins/Object/create/15.2.3.5-4-5.js
index 734a755099922fe94cde855d24575e0ed98a67ba..f348366e076e5e08b9909c597031c1f2399c5827 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-5.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-5.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-5
 description: >
     Object.create - argument 'Properties' is a Function object
     (15.2.3.7 step 2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = function () { };
         var result = false;
 
@@ -22,6 +19,5 @@ function testcase() {
             enumerable: true
         });
         Object.create({}, props);
-        return result;
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-50.js b/test/built-ins/Object/create/15.2.3.5-4-50.js
index a030d0009b9ab604a94033b87eb1835855f78c82..72e4b5269fb1ab4acf1d6218db3dfaaa481570f8 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-50.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-50.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is own data property that overrides an inherited data
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var proto = {
             enumerable: true
@@ -34,6 +31,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-51.js b/test/built-ins/Object/create/15.2.3.5-4-51.js
index 58ed9869310270fb7d911f67c30e8910c191c266..88e7e277864c2fddf7c0a215edeec74fb02883df 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-51.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-51.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is own data property that overrides an inherited
     accessor property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         var accessed = false;
 
@@ -38,6 +35,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-52.js b/test/built-ins/Object/create/15.2.3.5-4-52.js
index a679b680b6ad689fb6a22d05586f4100553cbc12..66d732240faf6cf464b965613286d852e6d733f0 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-52.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-52.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-52
 description: >
     Object.create - 'enumerable' property  of one property in
     'Properties' is own accessor property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var descObj = {};
@@ -29,6 +26,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-53.js b/test/built-ins/Object/create/15.2.3.5-4-53.js
index 9bb918f11b7cc190a0360fa09fbcd393c1d8c74b..46ae8e51bfbef0621f5f878bd26a5c072abb45a0 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-53.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-53.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-53
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is an inherited accessor property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         var accessed = false;
 
@@ -33,6 +30,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-54.js b/test/built-ins/Object/create/15.2.3.5-4-54.js
index 4dad563bed3da464d703c53fc15904e83ec8061b..1ca9d8db5f942a81abab5b74664e0cfec1e0580a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-54.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-54.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is own accessor property that overrides an inherited
     data property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var proto = {
             enumerable: true
@@ -35,6 +32,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-55.js b/test/built-ins/Object/create/15.2.3.5-4-55.js
index c62e525856d23d292d64b992444d4aa23c2727cc..3111507b4d88fa1c972d77c75ebfc3cc4f4dddc6 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-55.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-55.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is own accessor property that overrides an inherited
     accessor property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         var accessed = false;
         Object.defineProperty(proto, "enumerable", {
@@ -38,6 +35,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-56.js b/test/built-ins/Object/create/15.2.3.5-4-56.js
index 0b3ed4f61432d459467228fae6f5e4fbb91ee44a..1d71a5d36ae87b2a246308f28391a5c85c73b45a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-56.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-56.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is own accessor property without a get function
     (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = {};
         Object.defineProperty(descObj, "enumerable", {
@@ -26,6 +23,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-57.js b/test/built-ins/Object/create/15.2.3.5-4-57.js
index abcf6e34a35ce5850e1c2e42ab54ff9e888784b5..d39fd50352d50621994c9591d2e879e04052f39b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-57.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-57.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is own accessor property without a get function,
     which overrides an inherited accessor property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         var accessed = false;
         Object.defineProperty(proto, "enumerable", {
@@ -36,6 +33,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-58.js b/test/built-ins/Object/create/15.2.3.5-4-58.js
index 5903a71c65f2bdb7a863b1ea3074d89026b914f0..2054d70d5de3ca4132b438363a27451a43aa0811 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-58.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-58.js
@@ -7,12 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is an inherited accessor property without a get
     function (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
-
         var proto = {};
         var accessed = false;
 
@@ -32,6 +28,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-59.js b/test/built-ins/Object/create/15.2.3.5-4-59.js
index e3115b4b10a4382a31893d1d9dc2916b9601a05f..0c85eb4e60e6a64555f9ca1a40c2a42cfd56cfd1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-59.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-59.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Function object
     which implements its own [[Get]] method to access the 'enumerable'
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = function () { };
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-6.js b/test/built-ins/Object/create/15.2.3.5-4-6.js
index 2c843f6f9577e20a969f02a15a9b633642e118fd..d216b379a3ad95c9f78961afab4388775f5b8f49 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-6.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-6.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-6
 description: >
     Object.create - argument 'Properties' is an Array object (15.2.3.7
     step 2).
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = [];
         var result = false;
 
@@ -22,6 +19,5 @@ function testcase() {
             enumerable: true
         });
         Object.create({}, props);
-        return result;
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-60.js b/test/built-ins/Object/create/15.2.3.5-4-60.js
index 43ec0a9b62173829cd7c84f63039045d00bc6c5b..06cc1e97566138cc034b46829c2738aaaa8465e3 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-60.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-60.js
@@ -7,12 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Array object
     that uses Object's [[Get]] method to access the 'enumerable'
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
-
         var accessed = false;
         var descObj = [];
 
@@ -26,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-61.js b/test/built-ins/Object/create/15.2.3.5-4-61.js
index 35954e33a999e57f4c5ded92ed63d365c8bd0bb2..5bdb0912fa8513f1471f3b2aac1fa77dcb5e05dd 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-61.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-61.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a String object
     that uses Object's [[Get]] method to access the 'enumerable'
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = new String();
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-62.js b/test/built-ins/Object/create/15.2.3.5-4-62.js
index c962888c0132678faeb8f22dfd81a0ee53af94a5..cd237f4bddede8dfb126d3d2726842b615237698 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-62.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-62.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Boolean object
     that uses Object's [[Get]] method to access the 'enumerable'
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = new Boolean(false);
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-63.js b/test/built-ins/Object/create/15.2.3.5-4-63.js
index e82a7dbfa20c8abc77dad5a860646503bfdfa4af..0af44b539bf03b4cc0fe002ecdc49441b84548da 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-63.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-63.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Number object
     that uses Object's [[Get]] method to access the 'enumerable'
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = new Number(-9);
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-65.js b/test/built-ins/Object/create/15.2.3.5-4-65.js
index d1f383f4587c49d4b7126254a69e3fb75b70578b..d4e700a4a330eea5f398ce7764748b5c860c44e9 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-65.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-65.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a Date object that
     uses Object's [[Get]] method to access the 'enumerable' property
     (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = new Date();
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-66.js b/test/built-ins/Object/create/15.2.3.5-4-66.js
index 1d133f1e341b1bf183878973bff569edc904f970..3a893bfc2eaaa8e6e82a10f3d2c6e16eccbca2e2 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-66.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-66.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is a RegExp object
     that uses Object's [[Get]] method to access the 'enumerable'
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = new RegExp();
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-68.js b/test/built-ins/Object/create/15.2.3.5-4-68.js
index 9c25618353d6b8b2c16f710747e914e74e503c6f..6a1c26234af34137965011da83b194965019b3da 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-68.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-68.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Error object
     that uses Object's [[Get]] method to access the 'enumerable'
     property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var descObj = new Error();
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-69.js b/test/built-ins/Object/create/15.2.3.5-4-69.js
index 07be9d58241c96f8a0b30745dc48df0062ffb385..59f4183229e622ad613f2c9ff4b5b55d04a3f77a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-69.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-69.js
@@ -7,11 +7,8 @@ description: >
     Object.create - one property in 'Properties' is an Arguments
     object which implements its own [[Get]] method to access the
     'enumerable' property (8.10.5 step 3.a)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-        
         var accessed = false;
         var argObj = (function () { return arguments; })();
 
@@ -25,6 +22,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-7.js b/test/built-ins/Object/create/15.2.3.5-4-7.js
index 6876a5dfb769ed566ee4260279f6d4b5966a57b9..daee331b97f2b382264834d3cf1e0462f8df794a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-7.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-7.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-7
 description: >
     Object.create - argument 'Properties' is a String object (15.2.3.7
     step 2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new String();
         var result = false;
 
@@ -22,6 +19,5 @@ function testcase() {
             enumerable: true
         });
         Object.create({}, props);
-        return result;
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-72.js b/test/built-ins/Object/create/15.2.3.5-4-72.js
index 4fc6e00b0bf2e2b26afa9eb06677f3e9a04e1698..46c31574514f82ff8d5b5daac3ee3bcc8b57d51a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-72.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-72.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-72
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is undefined (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-73.js b/test/built-ins/Object/create/15.2.3.5-4-73.js
index cbffc22e4904b6d30ed32ed1ee66a603c76cc31d..b67405d353a536709813176367da1c5eaaa054de 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-73.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-73.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-73
 description: >
     Object.create - value of 'enumerable' property of one property in
     'Properties' is null (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed;
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-74.js b/test/built-ins/Object/create/15.2.3.5-4-74.js
index 74af463d73492450f163c75a8a7564e66b41d60c..6971654aceba5014f31cf72d0f7f2dac2022b546 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-74.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-74.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-74
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is true (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-75.js b/test/built-ins/Object/create/15.2.3.5-4-75.js
index bd6124725cd611cdcd3457c1c521deebf70cf3ca..8c69638b0599ae5f3b70741ad05c42057a8700af 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-75.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-75.js
@@ -6,12 +6,8 @@ es5id: 15.2.3.5-4-75
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is false (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
-
         var accessed = false;
         var descObj = {
             enumerable: false
@@ -25,6 +21,6 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-76.js b/test/built-ins/Object/create/15.2.3.5-4-76.js
index 7f6644b4b8bee1e863928babc490cd3261f23115..3924258d3a49c4498b7c8cda5124a842b8ad8fcb 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-76.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-76.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-76
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is 0 (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,6 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-77.js b/test/built-ins/Object/create/15.2.3.5-4-77.js
index 0f2a3805ec2d210d39689b1c1be233dcdc387816..c3d8cb2900ef17888dcafc3df07d04e3f2dbe718 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-77.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-77.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-77
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is +0 (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,6 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-78.js b/test/built-ins/Object/create/15.2.3.5-4-78.js
index 9a04695b06040c321750d3219ac957ea6e79b4a4..1b85d21f9d1e8c1beafc75567d7233fcac181675 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-78.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-78.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-78
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is -0 (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-        
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,6 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-79.js b/test/built-ins/Object/create/15.2.3.5-4-79.js
index 32346e324b426550fe488579e7ed9a6e2282f49f..472f164d24b5fb929c9ca51551f0f2bbf9390130 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-79.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-79.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-79
 description: >
     Object.create -  'enumerable' property of one property in
     'Properties' is NaN (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-       
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,6 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-8.js b/test/built-ins/Object/create/15.2.3.5-4-8.js
index de072d645d7684c98c6e9a498ed593894985747b..d87b1b6e3e27900155bef3feab66bd7f34d0e71a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-8.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-8.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-8
 description: >
     Object.create - argument 'Properties' is a Boolean object whose
     primitive value is true (15.2.3.7 step 2).
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Boolean(true);
         var result = false;
 
@@ -22,6 +19,5 @@ function testcase() {
             enumerable: true
         });
         Object.create({}, props);
-        return result;
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-80.js b/test/built-ins/Object/create/15.2.3.5-4-80.js
index 0129c7ecd4478cccabcc310bc95e99c81bd44682..84207e3825e82b1660532b91022ccf676b2f0664 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-80.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-80.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-80
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a positive number primitive (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-81.js b/test/built-ins/Object/create/15.2.3.5-4-81.js
index 55ac7463af6e3cd804182cb5d35a23337a27e417..27f1fde732f6abd151529e1d242e1fa7d913105a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-81.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-81.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-81
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a negative number primitive (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-        
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-82.js b/test/built-ins/Object/create/15.2.3.5-4-82.js
index 5f9219d3acdafd4535b59e995a10a5058c824728..c86ae44b3d561ee2a03a8e49fceda989f60117b4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-82.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-82.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-82
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is an empty string (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,6 @@ function testcase() {
                 accessed = true;
             }
         }
-        return !accessed && newObj.hasOwnProperty("prop");
-    }
-runTestCase(testcase);
+
+assert.sameValue(accessed, false, 'accessed');
+assert(newObj.hasOwnProperty("prop"), 'newObj.hasOwnProperty("prop") !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-83.js b/test/built-ins/Object/create/15.2.3.5-4-83.js
index 58bcd96d39c2fb415eea909348a9b99c22696067..d0a69d948b0ffd01adb759836a89bb715bfc8c2c 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-83.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-83.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-83
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a non-empty string (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-84.js b/test/built-ins/Object/create/15.2.3.5-4-84.js
index 8e3a4dda0719df2ed17cf25d3911399ac5f23c0b..c0721deedda6c659db311ff899694d7d45c42f4b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-84.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-84.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-84
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a Function object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-        
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-85.js b/test/built-ins/Object/create/15.2.3.5-4-85.js
index 3baa0d098475d655cc786859f44d2f07dd65196c..b7aa0da3a00b317e00128964f54ddec1a1cded26 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-85.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-85.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-85
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is an Array object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -24,6 +21,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-86.js b/test/built-ins/Object/create/15.2.3.5-4-86.js
index 4d86cc767d76ef25cd04f81516b1010f5e0d9938..d089bb6112855bc21244d0bfcac5535ea8228215 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-86.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-86.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-86
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a String object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-87.js b/test/built-ins/Object/create/15.2.3.5-4-87.js
index b4e9d6be55849b057e9810ced34f7200220c4473..d31f4e86a66ba1bc7415142fe8fc35174a086148 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-87.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-87.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-87
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a Boolean object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-88.js b/test/built-ins/Object/create/15.2.3.5-4-88.js
index e0662910a42ed7bd8c89d55685ec744b153fe5d9..83e38608fc77c3a257b1a967dc4e3f62274e4012 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-88.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-88.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-88
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a Number object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-89.js b/test/built-ins/Object/create/15.2.3.5-4-89.js
index 3db752a06a0e6266e18980d020e0887078e428c0..b8c211e183a9fde93e496cb279c337cc1dc3fc25 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-89.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-89.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-89
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is the Math object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-9.js b/test/built-ins/Object/create/15.2.3.5-4-9.js
index 7109345ff03609914eab93fc89d0b9dadd0f99c0..564f8ac0cc07895c00fbd83ab4382fe6f0f830cd 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-9.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-9.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-9
 description: >
     Object.create - argument 'Properties' is a Number object whose
     primitive value is any interesting number (15.2.3.7 step 2).
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var props = new Number(12);
         var result = false;
 
@@ -22,6 +19,5 @@ function testcase() {
             enumerable: true
         });
         Object.create({}, props);
-        return result;
-    }
-runTestCase(testcase);
+
+assert(result, 'result !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-90.js b/test/built-ins/Object/create/15.2.3.5-4-90.js
index f5e0c38f0e59a6218b1174e1609b33357d48a791..21fc225b81564b8b6a6cdfad73f7c1f19dc3dd1c 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-90.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-90.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-90
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a Date object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-91.js b/test/built-ins/Object/create/15.2.3.5-4-91.js
index 0be6bf753e5ada8620f83445f53edf9b40dc018d..c9ea3746e52639f62a394f3e73606868a7da1202 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-91.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-91.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-91
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a RegExp object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-92.js b/test/built-ins/Object/create/15.2.3.5-4-92.js
index 44ff8608c4c2448992f69128e3476b8ba980bb72..535b22ee19667d5098d699f4b0319742aed63f0b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-92.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-92.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-92
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is the JSON object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-93.js b/test/built-ins/Object/create/15.2.3.5-4-93.js
index deae3346fcf9f35e95520ed320783f321c1cf5e9..1ac6ded11a72617703821d3c8bb03d27796a6e9a 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-93.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-93.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-93
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is an Error object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -23,6 +20,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-94.js b/test/built-ins/Object/create/15.2.3.5-4-94.js
index d9d86058bc441abb12cf4a5ca3ec0c4d573cf88e..4f33838fce735c74221b9d77ed68046befeee327 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-94.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-94.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-94
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is an Arguments object (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
         var argObj = (function () { return arguments; })();
 
@@ -24,6 +21,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-96.js b/test/built-ins/Object/create/15.2.3.5-4-96.js
index 93161067c13a9c794e97f2cabd6f090aeed20fa1..c380a4bc204d3ed91deb5e75341bc68a7ede55a5 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-96.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-96.js
@@ -6,13 +6,9 @@ es5id: 15.2.3.5-4-96
 description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is the global object (8.10.5 step 3.b)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
-        
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -25,6 +21,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-97.js b/test/built-ins/Object/create/15.2.3.5-4-97.js
index 8ee6e3d67cc9907fa868c69aa381bd51746c39b2..86b471b8c02253d5fff98cb5a46f2f4abb088079 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-97.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-97.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is a string (value is 'false'), which is treated as
     the value true (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-        
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -24,6 +21,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-98.js b/test/built-ins/Object/create/15.2.3.5-4-98.js
index aadda7e18a5ecd2ba91ffb6f5822dc7c974109e8..49b6b8214f3237f7c920a1613c32bc614ecaeace 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-98.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-98.js
@@ -7,11 +7,8 @@ description: >
     Object.create - 'enumerable' property of one property in
     'Properties' is new Boolean(false), which is treated as the value
     true (8.10.5 step 3.b)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var accessed = false;
 
         var newObj = Object.create({}, {
@@ -24,6 +21,5 @@ function testcase() {
                 accessed = true;
             }
         }
-        return accessed;
-    }
-runTestCase(testcase);
+
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-99.js b/test/built-ins/Object/create/15.2.3.5-4-99.js
index 63a0e938f0345ca916c3967e13bed8233f84ae6e..cff852151e718de61a047a3b2ccd19dd5dcd93d0 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-99.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-99.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.5-4-99
 description: >
     Object.create - 'configurable' property of one property in
     'Properties' is true (8.10.5 step 4)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var newObj = Object.create({}, {
             prop: {
                 configurable: true
@@ -21,6 +18,5 @@ function testcase() {
         delete newObj.prop;
         var result2 = newObj.hasOwnProperty("prop");
 
-        return result1 === true && result2 === false;
-    }
-runTestCase(testcase);
+assert.sameValue(result1, true, 'result1');
+assert.sameValue(result2, false, 'result2');