Mercurial > js4py
diff core-javascript/javascript-exercises/class-exercises.js @ 191:74fc8108fef2 javascript-exercises
$ python py/remove_answers.py
| author | jf3243 |
|---|---|
| date | Mon, 21 Nov 2011 16:50:01 +0000 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core-javascript/javascript-exercises/class-exercises.js Mon Nov 21 16:50:01 2011 +0000 @@ -0,0 +1,65 @@ +var something; + +TEST('class attributes', function() +{ + var point = {}; + var Point = SimpleClass(point); + + point.__init__ = function(x, y){ + // Please write your answer here. + }; + + var pt = Point(3, 4); + + assert( pt.x === 3 ); + assert( pt.y === 4 ); + + // Please write your answer here. + + assert( pt.__classname__ === 'Point' ); + +}); + + +TEST('class methods', function() +{ + var actual; + var expect; + + var person = {}; + var Person = SimpleClass(person); + + // Initialise a person to have a name and an age. + // Please write your answer here. + + + // Test that we can create a person. + var someone = Person('Bob', 26); + assert( someone.name === 'Bob' ); + assert( someone.age === 26 ); + + + // Add a greet method to the class prototype object. + person.greet = function(another){ + // Please write your answer here. + }; + + // Test the greet method. + var tmp = someone.greet('Alice'); + assert( tmp = something ); + + // Add a goodbye method. + // Please write your answer here. + + expect = "Goodbye, Alice. It was a pleasure to meet you."; + actual = someone.goodbye('Alice'); + assert( actual === expect ); + + // A flaw in the design. + var someone_else = Person('Alice', 31); + + // Figure out what we get. + expect = something; + actual = someone.greet(someone_else); + assert( actual === expect ); +});
