trackler 2.1.0.16 → 2.1.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/fixtures/tracks/snowflake/exercises/snowflake-only/{description.md → .meta/description.md} +0 -0
  3. data/fixtures/tracks/snowflake/exercises/snowflake-only/{metadata.yml → .meta/metadata.yml} +0 -0
  4. data/lib/trackler/guaranteed_file.rb +2 -2
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/coq/exercises/tautology/{description.md → .meta/description.md} +0 -0
  7. data/tracks/coq/exercises/tautology/{metadata.yml → .meta/metadata.yml} +0 -0
  8. data/tracks/java/exercises/robot-simulator/src/test/java/RobotTest.java +1 -1
  9. data/tracks/perl6/config.json +1 -1
  10. data/tracks/ruby/exercises/phone-number/.meta/.version +1 -1
  11. data/tracks/ruby/exercises/phone-number/.meta/solutions/phone_number.rb +1 -1
  12. data/tracks/ruby/exercises/phone-number/phone_number_test.rb +2 -7
  13. data/tracks/ruby/exercises/space-age/.meta/.version +1 -0
  14. data/tracks/ruby/exercises/space-age/.meta/generator/space_age_case.rb +11 -0
  15. data/tracks/ruby/exercises/space-age/.meta/generator/test_template.erb +25 -0
  16. data/tracks/ruby/exercises/space-age/.meta/solutions/space_age.rb +4 -0
  17. data/tracks/ruby/exercises/space-age/space_age_test.rb +30 -16
  18. data/tracks/ruby/lib/generator/underscore.rb +6 -0
  19. data/tracks/rust/config.json +0 -1
  20. data/tracks/typescript/exercises/anagram/anagram.test.ts +10 -10
  21. data/tracks/typescript/exercises/beer-song/beer-song.test.ts +5 -5
  22. data/tracks/typescript/exercises/bob/bob.test.ts +16 -16
  23. data/tracks/typescript/exercises/etl/etl.test.ts +3 -3
  24. data/tracks/typescript/exercises/food-chain/food-chain.test.ts +9 -9
  25. data/tracks/typescript/exercises/gigasecond/gigasecond.test.ts +3 -3
  26. data/tracks/typescript/exercises/grade-school/grade-school.test.ts +8 -8
  27. data/tracks/typescript/exercises/hamming/hamming.test.ts +7 -7
  28. data/tracks/typescript/exercises/hello-world/hello-world.test.ts +2 -2
  29. data/tracks/typescript/exercises/leap/leap.test.ts +7 -7
  30. data/tracks/typescript/exercises/pangram/pangram.test.ts +8 -8
  31. data/tracks/typescript/exercises/phone-number/phone-number.test.ts +9 -9
  32. data/tracks/typescript/exercises/rna-transcription/rna-transcription.test.ts +7 -7
  33. data/tracks/typescript/exercises/robot-name/robot-name.test.ts +7 -7
  34. data/tracks/typescript/exercises/say/say.test.ts +15 -15
  35. data/tracks/typescript/exercises/space-age/space-age.test.ts +8 -8
  36. data/tracks/typescript/exercises/word-count/word-count.test.ts +11 -11
  37. data/tracks/typescript/exercises/wordy/wordy.test.ts +15 -15
  38. metadata +8 -11
  39. data/tracks/coq/exercises/hello-world/metadata.yml +0 -3
  40. data/tracks/coq/exercises/rna-transcription/metadata.yml +0 -3
  41. data/tracks/rust/exercises/luhn-from/description.md +0 -9
  42. data/tracks/rust/exercises/luhn-from/metadata.yml +0 -3
  43. data/tracks/rust/exercises/luhn-trait/description.md +0 -17
  44. data/tracks/rust/exercises/luhn-trait/metadata.yml +0 -3
@@ -11,14 +11,14 @@ describe('School', () => {
11
11
  expect(gradeSchool.studentRoster().size === 0).toEqual(true)
12
12
  })
13
13
 
14
- it('adding a student adds them to the roster for the given grade', () => {
14
+ xit('adding a student adds them to the roster for the given grade', () => {
15
15
  gradeSchool.addStudent('Aimee', 2)
16
16
 
17
17
  const expectedDb = new Map(Object.entries({ 2 : [ 'Aimee' ] }))
18
18
  expect(gradeSchool.studentRoster()).toEqual(expectedDb)
19
19
  })
20
20
 
21
- it('adding more students to the same grade adds them to the roster', () => {
21
+ xit('adding more students to the same grade adds them to the roster', () => {
22
22
  gradeSchool.addStudent('Blair', 2)
23
23
  gradeSchool.addStudent('James', 2)
24
24
  gradeSchool.addStudent('Paul', 2)
@@ -27,7 +27,7 @@ describe('School', () => {
27
27
  expect(gradeSchool.studentRoster()).toEqual(expectedDb)
28
28
  })
29
29
 
30
- it('adding students to different grades adds them to the roster', () => {
30
+ xit('adding students to different grades adds them to the roster', () => {
31
31
  gradeSchool.addStudent('Chelsea', 3)
32
32
  gradeSchool.addStudent('Logan', 7)
33
33
 
@@ -35,7 +35,7 @@ describe('School', () => {
35
35
  expect(gradeSchool.studentRoster()).toEqual(expectedDb)
36
36
  })
37
37
 
38
- it('grade returns the students in that grade in alphabetical order', () => {
38
+ xit('grade returns the students in that grade in alphabetical order', () => {
39
39
  gradeSchool.addStudent('Franklin', 5)
40
40
  gradeSchool.addStudent('Bradley', 5)
41
41
  gradeSchool.addStudent('Jeff', 1)
@@ -44,11 +44,11 @@ describe('School', () => {
44
44
  expect(gradeSchool.studentsInGrade(5)).toEqual(expectedStudents)
45
45
  })
46
46
 
47
- it('grade returns an empty array if there are no students in that grade', () => {
47
+ xit('grade returns an empty array if there are no students in that grade', () => {
48
48
  expect(gradeSchool.studentsInGrade(1)).toEqual([])
49
49
  })
50
50
 
51
- it('the students names in each grade in the roster are sorted', () => {
51
+ xit('the students names in each grade in the roster are sorted', () => {
52
52
  gradeSchool.addStudent('Jennifer', 4)
53
53
  gradeSchool.addStudent('Kareem', 6)
54
54
  gradeSchool.addStudent('Christopher', 4)
@@ -62,7 +62,7 @@ describe('School', () => {
62
62
  expect(gradeSchool.studentRoster()).toEqual(expectedSortedStudents)
63
63
  })
64
64
 
65
- it('roster cannot be modified outside of module', () => {
65
+ xit('roster cannot be modified outside of module', () => {
66
66
  gradeSchool.addStudent('Aimee', 2)
67
67
  const roster = gradeSchool.studentRoster()
68
68
  const result = roster.get('2') || []
@@ -71,7 +71,7 @@ describe('School', () => {
71
71
  expect(gradeSchool.studentRoster()).toEqual(expectedDb)
72
72
  })
73
73
 
74
- it('roster cannot be modified outside of module using studentsInGrade()', () => {
74
+ xit('roster cannot be modified outside of module using studentsInGrade()', () => {
75
75
  gradeSchool.addStudent('Aimee', 2)
76
76
  gradeSchool.studentsInGrade(2).push('Oops.')
77
77
  const expectedDb = new Map(Object.entries({ 2 : [ 'Aimee' ] }))
@@ -7,31 +7,31 @@ describe('Hamming', () => {
7
7
  expect(hamming.compute('A', 'A')).toEqual(0)
8
8
  })
9
9
 
10
- it('complete hamming distance for single nucleotide strand', () => {
10
+ xit('complete hamming distance for single nucleotide strand', () => {
11
11
  expect(hamming.compute('A', 'G')).toEqual(1)
12
12
  })
13
13
 
14
- it('complete hamming distance for small strand', () => {
14
+ xit('complete hamming distance for small strand', () => {
15
15
  expect(hamming.compute('AG', 'CT')).toEqual(2)
16
16
  })
17
17
 
18
- it('small hamming distance', () => {
18
+ xit('small hamming distance', () => {
19
19
  expect(hamming.compute('AT', 'CT')).toEqual(1)
20
20
  })
21
21
 
22
- it('small hamming distance in longer strand', () => {
22
+ xit('small hamming distance in longer strand', () => {
23
23
  expect(hamming.compute('GGACG', 'GGTCG')).toEqual(1)
24
24
  })
25
25
 
26
- it('large hamming distance', () => {
26
+ xit('large hamming distance', () => {
27
27
  expect(hamming.compute('GATACA', 'GCATAA')).toEqual(4)
28
28
  })
29
29
 
30
- it('hamming distance in very long strand', () => {
30
+ xit('hamming distance in very long strand', () => {
31
31
  expect(hamming.compute('GGACGGATTCTG', 'AGGACGGATTCT')).toEqual(9)
32
32
  })
33
33
 
34
- it('throws error when strands are not equal length', () => {
34
+ xit('throws error when strands are not equal length', () => {
35
35
  expect(() => { hamming.compute('GGACGGATTCTG', 'AGGAC') }
36
36
  ).toThrowError('DNA strands must be of equal length.' )
37
37
  })
@@ -7,11 +7,11 @@ describe('Hello World', () => {
7
7
  expect(HelloWorld.hello()).toEqual('Hello, World!')
8
8
  })
9
9
 
10
- it('says hello to bob', () => {
10
+ xit('says hello to bob', () => {
11
11
  expect(HelloWorld.hello('Bob')).toEqual('Hello, Bob!')
12
12
  })
13
13
 
14
- it('says hello to sally', () => {
14
+ xit('says hello to sally', () => {
15
15
  expect(HelloWorld.hello('Sally')).toEqual('Hello, Sally!')
16
16
  })
17
17
  })
@@ -6,33 +6,33 @@ describe('A leap year', () => {
6
6
  expect(isLeapYear(2015)).toBeFalsy()
7
7
  })
8
8
 
9
- it('is introduced every 4 years to adjust about a day', () => {
9
+ xit('is introduced every 4 years to adjust about a day', () => {
10
10
  expect(isLeapYear(2016)).toBeTruthy()
11
11
  })
12
12
 
13
- it('is skipped every 100 years to remove an extra day', () => {
13
+ xit('is skipped every 100 years to remove an extra day', () => {
14
14
  expect(isLeapYear(1900)).toBeFalsy()
15
15
  })
16
16
 
17
- it('is reintroduced every 400 years to adjust another day', () => {
17
+ xit('is reintroduced every 400 years to adjust another day', () => {
18
18
  expect(isLeapYear(2000)).toBeTruthy()
19
19
  })
20
20
 
21
21
  describe('Additional example of a leap year that', () => {
22
22
 
23
- it('is not a leap year', () => {
23
+ xit('is not a leap year', () => {
24
24
  expect(isLeapYear(1978)).toBeFalsy()
25
25
  })
26
26
 
27
- it('is a common leap year', () => {
27
+ xit('is a common leap year', () => {
28
28
  expect(isLeapYear(1992)).toBeTruthy()
29
29
  })
30
30
 
31
- it('is skipped every 100 years', () => {
31
+ xit('is skipped every 100 years', () => {
32
32
  expect(isLeapYear(2100)).toBeFalsy()
33
33
  })
34
34
 
35
- it('is reintroduced every 400 years', () => {
35
+ xit('is reintroduced every 400 years', () => {
36
36
  expect(isLeapYear(2400)).toBeTruthy()
37
37
  })
38
38
  })
@@ -7,42 +7,42 @@ describe('Pangram()', () => {
7
7
  expect(pangram.isPangram()).toBe(false)
8
8
  })
9
9
 
10
- it('pangram with only lower case', () => {
10
+ xit('pangram with only lower case', () => {
11
11
  const pangram = new Pangram("the quick brown fox jumps over the lazy dog")
12
12
  expect(pangram.isPangram()).toBe(true)
13
13
  })
14
14
 
15
- it("missing character 'x'", () => {
15
+ xit("missing character 'x'", () => {
16
16
  const pangram = new Pangram("a quick movement of the enemy will jeopardize five gunboats")
17
17
  expect(pangram.isPangram()).toBe(false)
18
18
  })
19
19
 
20
- it("another missing character 'x'", () => {
20
+ xit("another missing character 'x'", () => {
21
21
  const pangram = new Pangram("the quick brown fish jumps over the lazy dog")
22
22
  expect(pangram.isPangram()).toBe(false)
23
23
  })
24
24
 
25
- it("pangram with underscores", () => {
25
+ xit("pangram with underscores", () => {
26
26
  const pangram = new Pangram("the_quick_brown_fox_jumps_over_the_lazy_dog")
27
27
  expect(pangram.isPangram()).toBe(true)
28
28
  })
29
29
 
30
- it("pangram with numbers", () => {
30
+ xit("pangram with numbers", () => {
31
31
  const pangram = new Pangram("the 1 quick brown fox jumps over the 2 lazy dogs")
32
32
  expect(pangram.isPangram()).toBe(true)
33
33
  })
34
34
 
35
- it('missing letters replaced by numbers', () => {
35
+ xit('missing letters replaced by numbers', () => {
36
36
  const pangram = new Pangram("7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog")
37
37
  expect(pangram.isPangram()).toBe(false)
38
38
  })
39
39
 
40
- it('pangram with mixed case and punctuation', () => {
40
+ xit('pangram with mixed case and punctuation', () => {
41
41
  const pangram = new Pangram("\"Five quacking Zephyrs jolt my wax bed.\"")
42
42
  expect(pangram.isPangram()).toBe(true)
43
43
  })
44
44
 
45
- it('pangram with non-ascii characters', () => {
45
+ xit('pangram with non-ascii characters', () => {
46
46
  const pangram = new Pangram("Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich.")
47
47
  expect(pangram.isPangram()).toBe(true)
48
48
  })
@@ -7,47 +7,47 @@ describe('PhoneNumber()', () => {
7
7
  expect(phone.number()).toEqual('1234567890')
8
8
  })
9
9
 
10
- it('cleans numbers with dots', () => {
10
+ xit('cleans numbers with dots', () => {
11
11
  const phone = new PhoneNumber('123.456.7890')
12
12
  expect(phone.number()).toEqual('1234567890')
13
13
  })
14
14
 
15
- it('cleans numbers with multiple spaces', () => {
15
+ xit('cleans numbers with multiple spaces', () => {
16
16
  const phone = new PhoneNumber('123 456 7890 ')
17
17
  expect(phone.number()).toEqual('1234567890')
18
18
  })
19
19
 
20
- it('invalid when 9 digits', () => {
20
+ xit('invalid when 9 digits', () => {
21
21
  const phone = new PhoneNumber('123456789')
22
22
  expect(phone.number()).toEqual(undefined)
23
23
  })
24
24
 
25
- it('invalid when 11 digits', () => {
25
+ xit('invalid when 11 digits', () => {
26
26
  const phone = new PhoneNumber('21234567890')
27
27
  expect(phone.number()).toEqual(undefined)
28
28
  })
29
29
 
30
- it('valid when 11 digits and starting with 1', () => {
30
+ xit('valid when 11 digits and starting with 1', () => {
31
31
  const phone = new PhoneNumber('11234567890')
32
32
  expect(phone.number()).toEqual('1234567890')
33
33
  })
34
34
 
35
- it('invalid when 12 digits', () => {
35
+ xit('invalid when 12 digits', () => {
36
36
  const phone = new PhoneNumber('321234567890')
37
37
  expect(phone.number()).toEqual(undefined)
38
38
  })
39
39
 
40
- it('invalid with letters', () => {
40
+ xit('invalid with letters', () => {
41
41
  const phone = new PhoneNumber('123-abc-7890')
42
42
  expect(phone.number()).toEqual(undefined)
43
43
  })
44
44
 
45
- it('invalid with punctuations', () => {
45
+ xit('invalid with punctuations', () => {
46
46
  const phone = new PhoneNumber('123-@:!-7890')
47
47
  expect(phone.number()).toEqual(undefined)
48
48
  })
49
49
 
50
- it('invalid with right number of digits but letters mixed in', () => {
50
+ xit('invalid with right number of digits but letters mixed in', () => {
51
51
  const phone = new PhoneNumber('1a2b3c4d5e6f7g8h9i0j')
52
52
  expect(phone.number()).toEqual(undefined)
53
53
  })
@@ -7,36 +7,36 @@ describe('Transcriptor', () => {
7
7
  expect(transcriptor.toRna('C')).toEqual('G')
8
8
  })
9
9
 
10
- it('transcribes guanine to cytosine', () => {
10
+ xit('transcribes guanine to cytosine', () => {
11
11
  expect(transcriptor.toRna('G')).toEqual('C')
12
12
  })
13
13
 
14
- it('transcribes adenine to uracil', () => {
14
+ xit('transcribes adenine to uracil', () => {
15
15
  expect(transcriptor.toRna('A')).toEqual('U')
16
16
  })
17
17
 
18
- it('transcribes thymine to adenine', () => {
18
+ xit('transcribes thymine to adenine', () => {
19
19
  expect(transcriptor.toRna('T')).toEqual('A')
20
20
  })
21
21
 
22
- it('transcribes all dna nucleotides to their rna complements', () => {
22
+ xit('transcribes all dna nucleotides to their rna complements', () => {
23
23
  expect(transcriptor.toRna('ACGTGGTCTTAA'))
24
24
  .toEqual('UGCACCAGAAUU')
25
25
  })
26
26
 
27
- it('correctly handles invalid input', () => {
27
+ xit('correctly handles invalid input', () => {
28
28
  expect(() => transcriptor.toRna('U')).toThrowError(
29
29
  'Invalid input DNA.'
30
30
  )
31
31
  })
32
32
 
33
- it('correctly handles completely invalid input', () => {
33
+ xit('correctly handles completely invalid input', () => {
34
34
  expect(() => transcriptor.toRna('XXX')).toThrowError(
35
35
  'Invalid input DNA.'
36
36
  )
37
37
  })
38
38
 
39
- it('correctly handles partially invalid input', () => {
39
+ xit('correctly handles partially invalid input', () => {
40
40
  expect(() => transcriptor.toRna('ACGTXXXCTTAA')).toThrowError(
41
41
  'Invalid input DNA.'
42
42
  )
@@ -11,16 +11,16 @@ describe('Robot', () => {
11
11
  expect(robot.name).toMatch(/^[A-Z]{2}\d{3}$/)
12
12
  })
13
13
 
14
- it('name is the same each time', () => {
14
+ xit('name is the same each time', () => {
15
15
  expect(robot.name).toEqual(robot.name)
16
16
  })
17
17
 
18
- it('different robots have different names', () => {
18
+ xit('different robots have different names', () => {
19
19
  const differentRobot = new RobotName()
20
20
  expect(differentRobot.name).not.toEqual(robot.name)
21
21
  })
22
22
 
23
- it('is able to reset the name', () => {
23
+ xit('is able to reset the name', () => {
24
24
  const originalName = robot.name
25
25
 
26
26
  robot.resetName()
@@ -30,7 +30,7 @@ describe('Robot', () => {
30
30
  expect(originalName).not.toEqual(newName)
31
31
  })
32
32
 
33
- it('should set a unique name after reset', () => {
33
+ xit('should set a unique name after reset', () => {
34
34
  const NUMBER_OF_ROBOTS = 10000
35
35
  const usedNames = new Set()
36
36
 
@@ -43,12 +43,12 @@ describe('Robot', () => {
43
43
  expect(usedNames.size).toEqual(NUMBER_OF_ROBOTS + 1)
44
44
  })
45
45
 
46
- it('internal name cannot be modified', () => {
46
+ xit('internal name cannot be modified', () => {
47
47
  const modifyInternal = () => robot.name += "a modification"
48
48
  expect(modifyInternal).toThrow()
49
49
  })
50
50
 
51
- it('new names should not be sequential', () => {
51
+ xit('new names should not be sequential', () => {
52
52
  const name1 = robot.name
53
53
  const name2 = (new RobotName()).name
54
54
  const name3 = (new RobotName()).name
@@ -57,7 +57,7 @@ describe('Robot', () => {
57
57
  expect(areSequential(name2, name3)).toBe(false)
58
58
  })
59
59
 
60
- it('names from reset should not be sequential', () => {
60
+ xit('names from reset should not be sequential', () => {
61
61
  const name1 = robot.name
62
62
  robot.resetName()
63
63
  const name2 = robot.name
@@ -6,56 +6,56 @@ describe('say', () => {
6
6
  expect(say.inEnglish(0)).toBe('zero')
7
7
  })
8
8
 
9
- it('one', () => {
9
+ xit('one', () => {
10
10
  expect(say.inEnglish(1)).toBe('one')
11
11
  })
12
12
 
13
- it('fourteen', () => {
13
+ xit('fourteen', () => {
14
14
  expect(say.inEnglish(14)).toBe('fourteen')
15
15
  })
16
16
 
17
- it('twenty', () => {
17
+ xit('twenty', () => {
18
18
  expect(say.inEnglish(20)).toBe('twenty')
19
19
  })
20
20
 
21
- it('twenty-two', () => {
21
+ xit('twenty-two', () => {
22
22
  expect(say.inEnglish(22)).toBe('twenty-two')
23
23
  })
24
24
 
25
- it('one hundred', () => {
25
+ xit('one hundred', () => {
26
26
  expect(say.inEnglish(100)).toBe('one hundred')
27
27
  })
28
28
 
29
- it('one hundred twenty-three', () => {
29
+ xit('one hundred twenty-three', () => {
30
30
  expect(say.inEnglish(123)).toBe('one hundred twenty-three')
31
31
  })
32
32
 
33
- it('one thousand', () => {
33
+ xit('one thousand', () => {
34
34
  expect(say.inEnglish(1000)).toBe('one thousand')
35
35
  })
36
36
 
37
- it('one thousand two hundred thirty-four', () => {
37
+ xit('one thousand two hundred thirty-four', () => {
38
38
  expect(say.inEnglish(1234)).toBe('one thousand two hundred thirty-four')
39
39
  })
40
40
 
41
- it('one million', () => {
41
+ xit('one million', () => {
42
42
  expect(say.inEnglish(1000000)).toBe('one million')
43
43
  })
44
44
 
45
- it('one million two', () => {
45
+ xit('one million two', () => {
46
46
  expect(say.inEnglish(1000002)).toBe('one million two')
47
47
  })
48
48
 
49
- it('one million two thousand three hundred forty-five', () => {
49
+ xit('one million two thousand three hundred forty-five', () => {
50
50
  expect(say.inEnglish(1002345))
51
51
  .toBe('one million two thousand three hundred forty-five')
52
52
  })
53
53
 
54
- it('one billion', () => {
54
+ xit('one billion', () => {
55
55
  expect(say.inEnglish(1000000000)).toBe('one billion')
56
56
  })
57
57
 
58
- it('a really big number', () => {
58
+ xit('a really big number', () => {
59
59
  let expected = 'nine hundred eighty-seven billion '
60
60
  expected += 'six hundred fifty-four million '
61
61
  expected += 'three hundred twenty-one thousand '
@@ -63,13 +63,13 @@ describe('say', () => {
63
63
  expect(say.inEnglish(987654321123)).toBe(expected)
64
64
  })
65
65
 
66
- it('raises an error below zero', () => {
66
+ xit('raises an error below zero', () => {
67
67
  expect(() => {
68
68
  say.inEnglish(-1)
69
69
  }).toThrowError('Number must be between 0 and 999,999,999,999.')
70
70
  })
71
71
 
72
- it('raises an error above 999,999,999,999', () => {
72
+ xit('raises an error above 999,999,999,999', () => {
73
73
  expect(() => {
74
74
  say.inEnglish(1000000000000)
75
75
  }).toThrowError('Number must be between 0 and 999,999,999,999.')
@@ -7,48 +7,48 @@ describe('Space Age', () => {
7
7
  expect(age.seconds).toEqual(1000000)
8
8
  })
9
9
 
10
- it('age in earth years', () => {
10
+ xit('age in earth years', () => {
11
11
  const age = new SpaceAge(1000000000)
12
12
  expect(age.onEarth()).toEqual(31.69)
13
13
  })
14
14
 
15
- it('age in mercury years', () => {
15
+ xit('age in mercury years', () => {
16
16
  const age = new SpaceAge(2134835688)
17
17
  expect(age.onEarth()).toEqual(67.65)
18
18
  expect(age.onMercury()).toEqual(280.88)
19
19
  })
20
20
 
21
- it('age in venus years', () => {
21
+ xit('age in venus years', () => {
22
22
  const age = new SpaceAge(189839836)
23
23
  expect(age.onEarth()).toEqual(6.02)
24
24
  expect(age.onVenus()).toEqual(9.78)
25
25
  })
26
26
 
27
- it('age in mars years', () => {
27
+ xit('age in mars years', () => {
28
28
  const age = new SpaceAge(2329871239)
29
29
  expect(age.onEarth()).toEqual(73.83)
30
30
  expect(age.onMars()).toEqual(39.25)
31
31
  })
32
32
 
33
- it('age in jupiter years', () => {
33
+ xit('age in jupiter years', () => {
34
34
  const age = new SpaceAge(901876382)
35
35
  expect(age.onEarth()).toEqual(28.58)
36
36
  expect(age.onJupiter()).toEqual(2.41)
37
37
  })
38
38
 
39
- it('age in saturn years', () => {
39
+ xit('age in saturn years', () => {
40
40
  const age = new SpaceAge(3000000000)
41
41
  expect(age.onEarth()).toEqual(95.06)
42
42
  expect(age.onSaturn()).toEqual(3.23)
43
43
  })
44
44
 
45
- it('age in uranus years', () => {
45
+ xit('age in uranus years', () => {
46
46
  const age = new SpaceAge(3210123456)
47
47
  expect(age.onEarth()).toEqual(101.72)
48
48
  expect(age.onUranus()).toEqual(1.21)
49
49
  })
50
50
 
51
- it('age in neptune year', () => {
51
+ xit('age in neptune year', () => {
52
52
  const age = new SpaceAge(8210123456)
53
53
  expect(age.onEarth()).toEqual(260.16)
54
54
  expect(age.onNeptune()).toEqual(1.58)
@@ -8,57 +8,57 @@ describe('words()', () => {
8
8
  expect(words.count('word')).toEqual(expectedCounts)
9
9
  })
10
10
 
11
- it('counts one of each', () => {
11
+ xit('counts one of each', () => {
12
12
  const expectedCounts = new Map(Object.entries({ one: 1, of: 1, each: 1 }))
13
13
  expect(words.count('one of each')).toEqual(expectedCounts)
14
14
  })
15
15
 
16
- it('counts multiple occurrences', () => {
16
+ xit('counts multiple occurrences', () => {
17
17
  const expectedCounts = new Map(Object.entries({ one : 1, fish: 4, two: 1, red: 1, blue: 1 }))
18
18
  expect(words.count('one fish two fish red fish blue fish')).toEqual(expectedCounts)
19
19
  })
20
20
 
21
- it('includes punctuation', () => {
21
+ xit('includes punctuation', () => {
22
22
  const expectedCounts = new Map(Object.entries({ car: 1, ':': 2, carpet: 1, as: 1, java: 1, 'javascript!!&@$%^&': 1 }))
23
23
  expect(words.count('car : carpet as java : javascript!!&@$%^&')).toEqual(expectedCounts)
24
24
  })
25
25
 
26
- it('includes numbers', () => {
26
+ xit('includes numbers', () => {
27
27
  const expectedCounts = new Map(Object.entries({ testing: 2, 1: 1, 2: 1 }))
28
28
  expect(words.count('1 2 testing testing')).toEqual(expectedCounts)
29
29
  })
30
30
 
31
- it('normalizes to lower case', () => {
31
+ xit('normalizes to lower case', () => {
32
32
  const expectedCounts = new Map(Object.entries({ go: 3 }))
33
33
  expect(words.count('go Go GO')).toEqual(expectedCounts)
34
34
  })
35
35
 
36
- it('counts properly international characters', () => {
36
+ xit('counts properly international characters', () => {
37
37
  const expectedCounts = new Map(Object.entries({ '¡hola!': 1, '¿qué': 1, 'tal?': 1, 'привет!': 1 }))
38
38
  expect(words.count('¡Hola! ¿Qué tal? Привет!')).toEqual(expectedCounts)
39
39
  })
40
40
 
41
- it('counts multiline', () => {
41
+ xit('counts multiline', () => {
42
42
  const expectedCounts = new Map(Object.entries({ hello: 1, world: 1 }))
43
43
  expect(words.count('hello\nworld')).toEqual(expectedCounts)
44
44
  })
45
45
 
46
- it('counts tabs', () => {
46
+ xit('counts tabs', () => {
47
47
  const expectedCounts = new Map(Object.entries({ hello: 1, world: 1 }))
48
48
  expect(words.count('hello\tworld')).toEqual(expectedCounts)
49
49
  })
50
50
 
51
- it('counts multiple spaces as one', () => {
51
+ xit('counts multiple spaces as one', () => {
52
52
  const expectedCounts = new Map(Object.entries({ hello: 1, world: 1 }))
53
53
  expect(words.count('hello world')).toEqual(expectedCounts)
54
54
  })
55
55
 
56
- it('does not count leading or trailing whitespace', () => {
56
+ xit('does not count leading or trailing whitespace', () => {
57
57
  const expectedCounts = new Map(Object.entries({ introductory: 1, course: 1 }))
58
58
  expect(words.count('\t\tIntroductory Course ')).toEqual(expectedCounts)
59
59
  })
60
60
 
61
- it('handles properties that exist on Object’s prototype', () => {
61
+ xit('handles properties that exist on Object’s prototype', () => {
62
62
  const expectedCounts = new Map(Object.entries({ reserved: 1, words : 1, like : 1, constructor: 1, and : 1, tostring: 1, 'ok?': 1}))
63
63
  expect(words.count('reserved words like constructor and toString ok?')).toEqual(expectedCounts)
64
64
  })