|
1 | | -// implement a function countChar that counts the number of times a character occurs in a string |
2 | 1 | const countChar = require("./count"); |
3 | | -// Given a string str and a single character char to search for, |
4 | | -// When the countChar function is called with these inputs, |
5 | | -// Then it should: |
6 | | - |
7 | | -// Scenario: Multiple Occurrences |
8 | | -// Given the input string str, |
9 | | -// And a character char that may occur multiple times with overlaps within str (e.g., 'a' in 'aaaaa'), |
10 | | -// When the function is called with these inputs, |
11 | | -// Then it should correctly count overlapping occurrences of char (e.g., 'a' appears five times in 'aaaaa'). |
12 | 2 |
|
13 | 3 | test("should count multiple occurrences of a character", () => { |
14 | | - const str = "aaaaa"; |
15 | | - const char = "a"; |
16 | | - const count = countChar(str, char); |
17 | | - expect(count).toEqual(5); |
| 4 | + expect(countChar("aaaaa", "a")).toEqual(5); |
| 5 | +}); |
| 6 | + |
| 7 | +test("should return 0 when character is not found", () => { |
| 8 | + expect(countChar("hello", "z")).toEqual(0); |
| 9 | +}); |
| 10 | + |
| 11 | +test("should count a single occurrence of a character", () => { |
| 12 | + expect(countChar("hello", "h")).toEqual(1); |
18 | 13 | }); |
19 | 14 |
|
20 | | -// Scenario: No Occurrences |
21 | | -// Given the input string str, |
22 | | -// And a character char that does not exist within the case-sensitive str, |
23 | | -// When the function is called with these inputs, |
24 | | -// Then it should return 0, indicating that no occurrences of the char were found in the case-sensitive str. |
| 15 | +test("should be case-sensitive", () => { |
| 16 | + expect(countChar("Hello", "h")).toEqual(0); |
| 17 | +}); |
| 18 | + |
| 19 | +test("should count uppercase characters separately", () => { |
| 20 | + expect(countChar("Hello", "H")).toEqual(1); |
| 21 | +}); |
| 22 | + |
| 23 | +test("should count character occurring multiple times in different positions", () => { |
| 24 | + expect(countChar("banana", "a")).toEqual(3); |
| 25 | +}); |
0 commit comments