This repository was archived by the owner on May 26, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtestExampleCode.js
More file actions
147 lines (122 loc) · 3.48 KB
/
Copy pathtestExampleCode.js
File metadata and controls
147 lines (122 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
var obj = require('../index');
exports.testClone = function(test) {
var exampleFirst = {
fruit: "Apple",
animals: {
firstAnimal: "Beaver"
}
},
exampleSecond = {
fruit: "Banana",
animals: {
secondAnimal: "Slow Loris",
thirdAnimal: "Elephant"
}
};
var exampleClone = obj.clone(exampleFirst);
test.deepEqual(exampleClone, { fruit: "Apple", animals: { firstAnimal: "Beaver" }}, "Unexpected object")
exampleClone.fruit = "Orange"
exampleClone.animals.cloneOnlyAnimal = "Rabbit"
test.deepEqual(exampleClone, { fruit: "Orange", animals: { firstAnimal: "Beaver", cloneOnlyAnimal: "Rabbit" }}, "Unexpected object")
test.deepEqual(exampleFirst, { fruit: "Apple", animals: { firstAnimal: "Beaver" }}, "Unexpected object")
test.done();
}
exports.testMerge = function(test) {
var exampleFirst = {
fruit: "Apple",
animals: {
firstAnimal: "Beaver"
}
},
exampleSecond = {
fruit: "Banana",
animals: {
secondAnimal: "Slow Loris",
thirdAnimal: "Elephant"
},
gems: {
firstGem: "Diamond"
}
};
obj.merge(exampleFirst, exampleSecond);
test.deepEqual(exampleFirst, {
fruit: "Banana",
animals: {
firstAnimal: "Beaver",
secondAnimal: "Slow Loris",
thirdAnimal: "Elephant"
},
gems: {
firstGem: "Diamond"
}
}, "Object was unexpected");
exampleSecond.animals.thirdAnimal = "Slender Loris";
test.deepEqual(exampleFirst, {
fruit: "Banana",
animals: {
firstAnimal: "Beaver",
secondAnimal: "Slow Loris",
thirdAnimal: "Elephant"
},
gems: {
firstGem: "Diamond"
}
}, "Object was unexpected");
exampleFirst.gems.firstGem = "Ruby";
test.deepEqual(exampleSecond, {
fruit: "Banana",
animals: {
secondAnimal: "Slow Loris",
thirdAnimal: "Slender Loris"
},
gems: {
firstGem: "Ruby"
}
}, "The object was unexpected");
test.done();
}
exports.testApply = function(test) {
var exampleFirst = {
fruit: "Apple",
animals: {
firstAnimal: "Beaver"
}
},
exampleSecond = {
fruit: "Banana",
animals: {
firstAnimal: "Slow Loris",
secondAnimal: "Slow Loris",
thirdAnimal: "Elephant"
},
gems: {
firstGem: "Diamond"
}
};
obj.apply(exampleFirst, exampleSecond);
test.deepEqual(exampleFirst, {
fruit: "Banana",
animals: {
firstAnimal: "Slow Loris"
}
}, "Object was unexpected");
test.done();
}
exports.testIs = function(test) {
function TestClass() {}
var object = {},
testClass = new TestClass(),
func = function() { return false },
str = "I'm a string"
test.ok(obj.is(object, 'Object'), "Unexpected Type Assertion"); // === true
test.ok(obj.is(func, 'Function'), "Unexpected Type Assertion"); // === true
test.ok(obj.is(str, 'String'), "Unexpected Type Assertion"); // === true
//Case Insensitive
test.ok(obj.is(object, 'object'), "Unexpected Type Assertion"); // === true
test.ok(obj.is(func, 'function'), "Unexpected Type Assertion"); // === true
test.ok(obj.is(str, 'string'), "Unexpected Type Assertion"); // === true
// testClass returns true to either its Class or Object
test.ok(obj.is(testClass, 'TestClass'), "Unexpected Type Assertion"); // === true
test.ok(obj.is(testClass, 'Object'), "Unexpected Type Assertion"); // === true
test.done();
}