function differentSymbolsNaive(str) {
str = (
typeof str === 'string' && str ||
typeof str === 'number' && `${str}` ||
''
);
return new Set([...str]).size;
}
/**
* Test Suite
*/
describe('differentSymbolsNaive()', () => {
it('returns count of unique characters', () => {
// arrange
const str = 'cabca';
const result = differentSymbolsNaive(str);
console.log("result: ", result);
expect(result).toBe(3);
});
it('returns count of unique digits if input is a number', () => {
const num = '112233334';
const result = differentSymbolsNaive(num);
console.log("result: ", result);
expect(result).toBe(4);
});
it('returns 0 if input is null or undefined', () => {
const val = null;
const result = differentSymbolsNaive(val);
console.log("result: ", result);
expect(result).toBe(0);
});
});