Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Домашнее задание из 5 занятия #120

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions topics/about_arrays.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@ module("About Arrays (topics/about_arrays.js)");

test("array literal syntax and indexing", function() {
var favouriteThings = ["cellar door", 42, true]; // note that array elements do not have to be of the same type
equal(__, favouriteThings[0], 'what is in the first position of the array?');
equal(__, favouriteThings[1], 'what is in the second position of the array?');
equal(__, favouriteThings[2], 'what is in the third position of the array?');
equal("cellar door", favouriteThings[0], 'what is in the first position of the array?');
equal(42, favouriteThings[1], 'what is in the second position of the array?');
equal(true, favouriteThings[2], 'what is in the third position of the array?');
});

test("array type", function() {
equal(__, typeof([]), 'what is the type of an array?');
equal('object', typeof([]), 'what is the type of an array?');
});

test("length", function() {
var collection = ['a','b','c'];
equal(__, collection.length, 'what is the length of the collection array?');
equal(3, collection.length, 'what is the length of the collection array?');
});

test("splice", function() {
var daysOfWeek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
var workingWeek = daysOfWeek.splice(__, __);
var workingWeek = daysOfWeek.splice(0, 5);
var weekend = daysOfWeek;

deepEqual(workingWeek, ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], 'what is the value of workingWeek?');
Expand All @@ -30,8 +30,8 @@ test("stack methods", function() {
stack.push("first");
stack.push("second");

equal(__, stack.pop(), 'what will be the first value popped off the stack?');
equal(__, stack.pop(), 'what will be the second value popped off the stack?');
equal("second", stack.pop(), 'what will be the first value popped off the stack?');
equal("first", stack.pop(), 'what will be the second value popped off the stack?');
});

test("queue methods", function() {
Expand All @@ -40,6 +40,6 @@ test("queue methods", function() {
queue.push("second");
queue.unshift("third");

equal(__, queue.shift(), 'what will be shifted out first?');
equal(__, queue.shift(), 'what will be shifted out second?');
equal("third", queue.shift(), 'what will be shifted out first?');
equal("first", queue.shift(), 'what will be shifted out second?');
});
6 changes: 3 additions & 3 deletions topics/about_asserts.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
module("About Asserts (topics/about_asserts.js)");

test("ok", function() {
ok(__ === true, 'what will satisfy the ok assertion?');
ok(true === true, 'what will satisfy the ok assertion?');
});

test("not ok", function() {
ok(__ === false, 'what is a false value?');
ok(false === false, 'what is a false value?');
});

test("equal", function() {
equal(__, 1 + 1, 'what will satisfy the equal assertion?');
equal(2, 1 + 1, 'what will satisfy the equal assertion?');
});
4 changes: 2 additions & 2 deletions topics/about_assignment.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
module("About Assignment (topics/about_assignment.js)");

test("local variables", function() {
var temp = __;
var temp = 1;
equal(temp, 1, "Assign a value to the variable temp");
});

test("global variables", function() {
temp = 1; // Not using var is an example. Always use var in practise.
equal(window.__, temp, 'global variables are assigned to the window object');
equal(window.temp, temp, 'global variables are assigned to the window object');
});
16 changes: 8 additions & 8 deletions topics/about_control_structures.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ test("if", function() {
if (2 > 0) {
isPositive = true;
}
equal(__, isPositive, 'what is the value of isPositive?');
equal(true, isPositive, 'what is the value of isPositive?');
});

test("for", function() {
var counter = 10;
for (var i = 1; i <= 3; i++) {
counter = counter + i;
}
equal(__, counter, 'what is the value of counter?');
equal(16, counter, 'what is the value of counter?');
});

test("for in", function() {
Expand All @@ -27,15 +27,15 @@ test("for in", function() {
for (var property_name in person) {
result = result + property_name;
}
equal(__, result, 'what is the value of result?');
equal("nameage", result, 'what is the value of result?');
});

test("ternary operator", function() {
var fruit = true ? "apple" : "orange";
equal(__, fruit, 'what is the value of fruit?');
equal("apple", fruit, 'what is the value of fruit?');

fruit = false ? "apple" : "orange";
equal(__, fruit, 'now what is the value of fruit?');
equal("orange", fruit, 'now what is the value of fruit?');
});

test("switch", function() {
Expand All @@ -48,7 +48,7 @@ test("switch", function() {
result = 2;
break;
}
equal(__, result, 'what is the value of result?');
equal(2, result, 'what is the value of result?');
});

test("switch default case", function() {
Expand All @@ -64,10 +64,10 @@ test("switch default case", function() {
result = "Merry";
break;
}
equal(__, result, 'what is the value of result?');
equal("Merry", result, 'what is the value of result?');
});

test("null coalescing", function() {
var result = null || "a value";
equal(__, result, 'what is the value of result?');
equal("a value", result, 'what is the value of result?');
});
12 changes: 6 additions & 6 deletions topics/about_equality.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@
module("About Equality (topics/about_equality.js)");

test("numeric equality", function() {
equal(3 + __, 7, "");
equal(3 + 4, 7, "");
});

test("string equality", function() {
equal("3" + __, "37", "concatenate the strings");
equal("3" + "7", "37", "concatenate the strings");
});

test("equality without type coercion", function() {
ok(3 === __, 'what is exactly equal to 3?');
ok(3 === 3, 'what is exactly equal to 3?');
});

test("equality with type coercion", function() {
ok(3 == "__", 'what string is equal to 3, with type coercion?');
ok(3 == "3", 'what string is equal to 3, with type coercion?');
});

test("string literals", function() {
equal(__, "frankenstein", "quote types are interchangable, but must match.");
equal(__, 'frankenstein', "quote types can use both single and double quotes.");
equal("frankenstein", "frankenstein", "quote types are interchangable, but must match.");
equal('frankenstein', 'frankenstein', "quote types can use both single and double quotes.");
});
22 changes: 11 additions & 11 deletions topics/about_functions_and_closure.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ test("defining functions directly", function() {
result = "b";
};
changeResult();
equal(__, result, 'what is the value of result?');
equal("b", result, 'what is the value of result?');
});

test("assigning functions to variables", function() {
var triple = function(input) {
return input * 3;
};
equal(__, triple(4), 'what is triple 4?');
equal(12, triple(4), 'what is triple 4?');
});

test("self invoking functions", function() {
Expand All @@ -23,23 +23,23 @@ test("self invoking functions", function() {
// self invoking functions are used to provide scoping and to alias variables
(function(pv) {
var secretValue = "password";
equal(__, pv, 'what is the value of pv?');
equal("__", typeof(secretValue), "is secretValue available in this context?");
equal("__", typeof(publicValue), "is publicValue available in this context?");
equal("shared", pv, 'what is the value of pv?');
equal("string", typeof(secretValue), "is secretValue available in this context?");
equal("string", typeof(publicValue), "is publicValue available in this context?");
})(publicValue);

equal("__", typeof(secretValue), "is secretValue available in this context?");
equal("__", typeof(publicValue), "is publicValue available in this context?");
equal("undefined", typeof(secretValue), "is secretValue available in this context?");
equal("string", typeof(publicValue), "is publicValue available in this context?");
});

test("arguments array", function() {
var add = function() {
var total = 0;
for(var i = 0; i < arguments.length; i++) {
// complete the implementation of this method so that it returns the sum of its arguments
// __
total = total + arguments[i];
}
// __
return total;
};

equal(15, add(1,2,3,4,5), "add 1,2,3,4,5");
Expand All @@ -57,7 +57,7 @@ test("using call to invoke function",function(){
//function, and the arguments to be sent to the function, multiple arguments are separated by commas.
var result = invokee.call("I am this!", "Where did it come from?");

equal(__, result, "what will the value of invokee's this be?");
equal("I am this!Where did it come from?", result, "what will the value of invokee's this be?");
});

test("using apply to invoke function",function(){
Expand All @@ -70,6 +70,6 @@ test("using apply to invoke function",function(){
//function and the second is the array of arguments to be passed into the called function.
var result = invokee.apply("I am this!", ["I am arg1","I am arg2"]);

equal(__, result, "what will the value of invokee's this be?");
equal("I am this!I am arg1I am arg2", result, "what will the value of invokee's this be?");
});

10 changes: 5 additions & 5 deletions topics/about_numbers.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ module("About Numbers (topics/about_numbers.js)");
test("types", function() {
var typeOfIntegers = typeof(6);
var typeOfFloats = typeof(3.14159);
equal(__, typeOfIntegers === typeOfFloats, 'are ints and floats the same type?');
equal(__, typeOfIntegers, 'what is the javascript numeric type?');
equal(__, 1.0, 'what is a integer number equivalent to 1.0?');
equal(true, typeOfIntegers === typeOfFloats, 'are ints and floats the same type?');
equal("number", typeOfIntegers, 'what is the javascript numeric type?');
equal(1, 1.0, 'what is a integer number equivalent to 1.0?');
});

test("NaN", function() {
var resultOfFailedOperations = 7/'apple';
equal(__, isNaN(resultOfFailedOperations), 'what will satisfy the equals assertion?');
equal(__, resultOfFailedOperations == NaN, 'is NaN == NaN?');
equal(true, isNaN(resultOfFailedOperations), 'what will satisfy the equals assertion?');
equal(false, resultOfFailedOperations == NaN, 'is NaN == NaN?');
});
16 changes: 8 additions & 8 deletions topics/about_objects.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,30 @@ module("About Objects (topics/about_objects.js)");

test("object type", function() {
var empty_object = {};
equal(__, typeof(empty_object), 'what is the type of an object?');
equal('object', typeof(empty_object), 'what is the type of an object?');
});

test("object literal notation", function() {
var person = {
__:__,
__:__
name:"Amory Blaine",
age:102
};
equal("Amory Blaine", person.name, "what is the person's name?");
equal(102, person.age, "what is the person's age?");
});

test("dynamically adding properties", function() {
var person = {};
person.__ = "Amory Blaine";
person.__ = 102;
person.name = "Amory Blaine";
person.age = 102;
equal("Amory Blaine", person.name, "what is the person's name?");
equal(102, person.age, "what is the person's age?");
});

test("adding properties from strings", function() {
var person = {};
person["__"] = "Amory Blaine";
person["__"] = 102;
person["name"] = "Amory Blaine";
person["age"] = 102;
equal("Amory Blaine", person.name, "what is the person's name?");
equal(102, person.age, "what is the person's age?");
});
Expand All @@ -36,7 +36,7 @@ test("adding functions", function() {
name: "Amory Blaine",
age: 102,
toString: function() {
return __; // HINT: use the 'this' keyword to refer to the person object.
return `I ${this.name} am ${this.age} years old.`; // HINT: use the 'this' keyword to refer to the person object.
}
};
equal("I Amory Blaine am 102 years old.", person.toString(), "what should the toString function be?");
Expand Down
10 changes: 5 additions & 5 deletions topics/about_operators.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ test("addition", function() {
for (var i = 0; i <= 5; i++) {
result = result + i;
}
equal(__, result, "What is the value of result?");
equal(15, result, "What is the value of result?");
});

test("assignment addition", function() {
Expand All @@ -16,23 +16,23 @@ test("assignment addition", function() {
//the code below is just like saying result = result + i; but is more concise
result += i;
}
equal(__, result, "What is the value of result?");
equal(15, result, "What is the value of result?");
});

test("subtraction", function() {
var result = 5;
for (var i = 0; i <= 2; i++) {
result = result - i;
}
equal(__, result, "What is the value of result?");
equal(2, result, "What is the value of result?");
});

test("assignment subtraction", function() {
var result = 5;
for (var i = 0; i <= 2; i++) {
result -= i;
}
equal(__, result, "What is the value of result?");
equal(2, result, "What is the value of result?");
});

//Assignment operators are available for multiplication and division as well
Expand All @@ -43,5 +43,5 @@ test("modulus", function() {
var x = 5;
//again this is exactly the same as result = result % x
result %= x;
equal(__, result, "What is the value of result?");
equal(0, result, "What is the value of result?");
});
10 changes: 5 additions & 5 deletions topics/about_prototypal_inheritance.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Mammal.prototype = {

test("defining a 'class'", function() {
var eric = new Mammal("Eric");
equal(__, eric.sayHi(), 'what will Eric say?');
equal("Hello, my name is Eric", eric.sayHi(), 'what will Eric say?');
});

// add another function to the Mammal 'type' that uses the sayHi function
Expand All @@ -26,7 +26,7 @@ Mammal.prototype.favouriteSaying = function() {

test("more functions", function() {
var bobby = new Mammal("Bobby");
equal(__, bobby.favouriteSaying(), "what is Bobby's favourite saying?");
equal("Bobby's favourite saying is Hello, my name is Bobby", bobby.favouriteSaying(), "what is Bobby's favourite saying?");
});

test("calling functions added to a prototype after an object was created", function() {
Expand All @@ -36,7 +36,7 @@ test("calling functions added to a prototype after an object was created", funct
};
// the following statement asks the paul object to call a function that was added
// to the Mammal prototype after paul was constructed.
equal(__, paul.numberOfLettersInName(), "how long is Paul's name?");
equal(4, paul.numberOfLettersInName(), "how long is Paul's name?");
});

// helper function for inheritance.
Expand All @@ -56,6 +56,6 @@ extend(Bat, Mammal);

test("Inheritance", function() {
var lenny = new Bat("Lenny", "1.5m");
equal(__, lenny.sayHi(), "what does Lenny say?");
equal(__, lenny.wingspan, "what is Lenny's wingspan?");
equal("Hello, my name is Lenny", lenny.sayHi(), "what does Lenny say?");
equal("1.5m", lenny.wingspan, "what is Lenny's wingspan?");
});
Loading