Created
April 5, 2016 05:26
-
-
Save lmuntaner/b29cb4e0b582f0c56c11e79cbca4d333 to your computer and use it in GitHub Desktop.
Mini Coding Test For Loop33
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe('class creation', () => { | |
it('is as simple as `class XXX {}`', function() { | |
class TestClass {}; | |
const instance = new TestClass(); | |
assert.equal(typeof instance, 'object'); | |
}); | |
it('class is block scoped', () => { | |
{class Inside {}} | |
assert.equal(typeof Inside, 'undefined'); | |
}); | |
it('special method is `constructor`', function() { | |
class User { | |
constructor(id) { | |
this.id = id; | |
} | |
} | |
const user = new User(42); | |
assert.equal(user.id, 42); | |
}); | |
it('defining a method is simple', function() { | |
class User { | |
writesTests() { | |
return false; | |
} | |
} | |
const notATester = new User(); | |
assert.equal(notATester.writesTests(), false); | |
}); | |
it('multiple methods need no commas (opposed to object notation)', function() { | |
class User { | |
wroteATest() { this.everWroteATest = true; } | |
isLazy() { return !this.everWroteATest; } | |
} | |
const tester = new User(); | |
assert.equal(tester.isLazy(), true); | |
tester.wroteATest(); | |
assert.equal(tester.isLazy(), false); | |
}); | |
it('anonymous class', () => { | |
const classType = typeof class {}; | |
assert.equal(classType, 'function'); | |
}); | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment