Merge pull request #1945 from Logan-Schelly/testcases/closure-9

Add test cases for 1-js/06-advanced-functions/03-closure/9-sort-by-field
This commit is contained in:
Ilya Kantor 2020-06-08 11:01:38 +03:00 committed by GitHub
commit 675861b93b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 54 additions and 0 deletions

View file

@ -0,0 +1,6 @@
"use strict";
function byField(fieldName){
return (a, b) => a[field] > b[field] ? 1 : -1;
}

View file

@ -0,0 +1,7 @@
"use strict";
function byField(fieldName){
//Your code goes here.
}

View file

@ -0,0 +1,41 @@
"use strict";
describe("byField", function(){
let users = [
{ name: "John", age: 20, surname: "Johnson" },
{ name: "Pete", age: 18, surname: "Peterson" },
{ name: "Ann", age: 19, surname: "Hathaway" },
];
it("sorts users by name", function(){
let nameSortedKey = [
{ name: "Ann", age: 19, surname: "Hathaway" },
{ name: "John", age: 20, surname: "Johnson"},
{ name: "Pete", age: 18, surname: "Peterson" },
];
let nameSortedAnswer = users.sort(byField("name"));
assert.equal(JSON.stringify(nameSortedKey), JSON.stringify(nameSortedAnswer));
});
it("sorts users by age", function(){
let ageSortedKey = [
{ name: "Pete", age: 18, surname: "Peterson" },
{ name: "Ann", age: 19, surname: "Hathaway" },
{ name: "John", age: 20, surname: "Johnson"},
];
let ageSortedAnswer = users.sort(byField("age"));
assert.equal(JSON.stringify(ageSortedKey), JSON.stringify(ageSortedKey));
});
it("sorts users by surname", function(){
let surnameSortedKey = [
{ name: "Ann", age: 19, surname: "Hathaway" },
{ name: "John", age: 20, surname: "Johnson"},
{ name: "Pete", age: 18, surname: "Peterson" },
];
let surnameSortedAnswer = users.sort(byField("surname"));
assert.equal(JSON.stringify(surnameSortedAnswer), JSON.stringify(surnameSortedKey));
});
});