Skip to content

Commit

Permalink
add join test and implementation b00tc4mp#160
Browse files Browse the repository at this point in the history
  • Loading branch information
manuelbarzi committed Sep 30, 2024
1 parent d77512d commit 7275754
Show file tree
Hide file tree
Showing 17 changed files with 415 additions and 6 deletions.
15 changes: 15 additions & 0 deletions staff/manuel-barzi/playground/arrays/Array.prototype.join.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
console.log('TEST Array.prototype.join')

console.log('CASE join elements')

var elements = ['Fire', 'Air', 'Water', 'Earth']
var joined = elements.join()
console.log(joined)
// 'Fire,Air,Water,Earth'

console.log('CASE join elements with #')

var elements = ['Fire', 'Air', 'Water', 'Earth']
var joined = elements.join('#')
console.log(joined)
// 'Fire#Air#Water#Earth'
2 changes: 1 addition & 1 deletion staff/manuel-barzi/playground/iterables/concat.1.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var concat = function (iterable, iterable2) {
return result
}

console.log('TEST Array.prototype.concat')
console.log('TEST concat')

console.log('CASE concat 2 iterables of characters')

Expand Down
2 changes: 1 addition & 1 deletion staff/manuel-barzi/playground/iterables/concat.2.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ var concat = function (iterable, iterable2) {
}
}

console.log('TEST Array.prototype.concat')
console.log('TEST concat')

console.log('CASE concat 2 iterables of characters')

Expand Down
2 changes: 1 addition & 1 deletion staff/manuel-barzi/playground/iterables/concat.3.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ var concat = function (iterable, iterable2) {
}
}

console.log('TEST Array.prototype.concat')
console.log('TEST concat')

console.log('CASE concat 2 iterables of characters')

Expand Down
2 changes: 1 addition & 1 deletion staff/manuel-barzi/playground/iterables/concat.4.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ var concat = function (iterable, iterable2) {
}
}

console.log('TEST Array.prototype.concat')
console.log('TEST concat')

console.log('CASE concat 2 iterables of characters')

Expand Down
2 changes: 1 addition & 1 deletion staff/manuel-barzi/playground/iterables/concat.5.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ var concat = function (iterable, iterable2) {
}
}

console.log('TEST Array.prototype.concat')
console.log('TEST concat')

console.log('CASE concat 2 iterables of characters')

Expand Down
2 changes: 1 addition & 1 deletion staff/manuel-barzi/playground/iterables/concat.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var concat = function () {
return result
}

console.log('TEST Array.prototype.concat')
console.log('TEST concat')

console.log('CASE concat 2 iterables of characters')

Expand Down
36 changes: 36 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
var join = function (iterable) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

var result = ''

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

if (i === 0)
result += element // result = result + element
else
result += ',' + element // result = result + ',' + element
}

return result
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'
36 changes: 36 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
var join = function (iterable) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

var result

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

if (i === 0)
result = element // result = result + element
else
result += ',' + element // result = result + ',' + element
}

return result
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'
33 changes: 33 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
var join = function (iterable) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

var result

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

i === 0 ? result = element : result += ',' + element
}

return result
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'
33 changes: 33 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.4.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
var join = function (iterable) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

var result = ''

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

result += i === 0 ? element : ',' + element
}

return result
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'
33 changes: 33 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.5.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
var join = function (iterable) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

var result = ''

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

result += (i === 0 ? '' : ',') + element
}

return result
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'
36 changes: 36 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.6.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
var join = function (iterable) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

var result

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

if (i === 0)
result = element // result = result + element
else
result += ',' + element // result = result + ',' + element
}

return result
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'
58 changes: 58 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.7.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
var join = function (iterable, separator) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

if (separator === undefined) {
var result

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

if (i === 0)
result = element // result = result + element
else
result += ',' + element // result = result + ',' + element
}

return result
} else {
var result

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

if (i === 0)
result = element // result = result + element
else
result += separator + element // result = result + separator + element
}

return result
}
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'

console.log('CASE join elements with #')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements, '#')
console.log(joined)
// 'Fire#Air#Water#Earth'
43 changes: 43 additions & 0 deletions staff/manuel-barzi/playground/iterables/join.8.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
var join = function (iterable, separator) {
/*
iterable -> { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
result -> ''
result -> 'Fire'
result -> 'Fire,Air'
result -> 'Fire,Air,Water'
result -> 'Fire,Air,Water,Earth'
return result
*/

var result

for (var i = 0; i < iterable.length; i++) {
var element = iterable[i]

if (i === 0)
result = element // result = result + element
else
result += (separator === undefined ? ',' : separator) + element // result = result + separator + element
}

return result
}

console.log('TEST join')

console.log('CASE join elements')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements)
console.log(joined)
// 'Fire,Air,Water,Earth'

console.log('CASE join elements with #')

var elements = { 0: 'Fire', 1: 'Air', 2: 'Water', 3: 'Earth', length: 4 }
var joined = join(elements, '#')
console.log(joined)
// 'Fire#Air#Water#Earth'
Loading

0 comments on commit 7275754

Please sign in to comment.