chore: Merge pull request #733 from charliejmoore/upper-case-converstion-tests

Upper case conversion tests
This commit is contained in:
Rak Laptudirm
2021-10-05 14:24:28 +05:30
committed by GitHub
2 changed files with 55 additions and 12 deletions

View File

@ -1,26 +1,26 @@
/*
Explanation :- a user gives a String (it can be incomplete lower or
partial lower) and then the program would convert it into a
complete(all characters in upper case) upper case string. The
logic we have used in the following program is: All the lower case
characters (a-z) has ASCII value ranging from 97 to 122 and their
corresponding upper case characters (A-Z) have ASCII values 32
Explanation :- A user gives a string (it can be incomplete lowercase or
partially in lowercase) and then the program converts it into a
completely (all characters in uppercase) uppercase string. The
logic we have used in the following program is: All the lowercase
characters (a-z) has [ASCII](https://en.wikipedia.org/wiki/ASCII) value ranging from 97 to 122 and their
corresponding uppercase characters (A-Z) have ASCII values 32
lesser than them. For example a has an ASCII value of 97
and A has an ASCII value of 65 (97 - 32). The same applies to other
characters.
*/
/**
* UpperCaseConversion takes any case-style string and converts it to the upper case-style string.
* @param {String} inputString any case style string
* @returns {String} upper case string
* upperCaseConversion takes any case-style string and converts it to the uppercase-style string.
* @param {string} inputString Any case style string
* @returns {string} Uppercase string
*/
const UpperCaseConversion = (inputString) => {
const upperCaseConversion = (inputString) => {
// Take a string and split it into characters.
const newString = inputString.split('').map(char => {
// Get a character code by the use charCodeAt method.
const presentCharCode = char.charCodeAt()
// If the character code lies between 97 to 122 it means they are in the lower case so convert it.
// If the character code lies between 97 to 122, it means they are in the lowercase so convert it.
if (presentCharCode >= 97 && presentCharCode <= 122) {
// Convert the case by use of the above explanation.
return String.fromCharCode(presentCharCode - 32)
@ -32,4 +32,4 @@ const UpperCaseConversion = (inputString) => {
return newString.join('')
}
module.exports = UpperCaseConversion
export { upperCaseConversion }

View File

@ -0,0 +1,43 @@
import { upperCaseConversion } from '../UpperCaseConversion'
describe(('Test the upperCaseConversion function'), () => {
it('should return an empty string when the input is an empty string', () => {
expect(upperCaseConversion('')).toEqual('')
})
it('should return an all-uppercase string when input is an all-uppercase string', () => {
expect(upperCaseConversion('ALLUPPERCASE')).toEqual('ALLUPPERCASE')
})
it('should return an all-uppercase string when input is an all-uppercase string with spaces', () => {
expect(upperCaseConversion('ALL UPPERCASE')).toEqual('ALL UPPERCASE')
})
it('should return an all-uppercase string when input is an all-uppercase string with punctuation', () => {
expect(upperCaseConversion('ALL UPPER-CASE!')).toEqual('ALL UPPER-CASE!')
})
it('should return an all-uppercase string when input is an all-lowercase string', () => {
expect(upperCaseConversion('lowercaseinput')).toEqual('LOWERCASEINPUT')
})
it('should return an all-uppercase string when input is an all-lowercase string with spaces', () => {
expect(upperCaseConversion('lowercase input')).toEqual('LOWERCASE INPUT')
})
it('should return an all-uppercase string when input is an all-lowercase string with punctuation', () => {
expect(upperCaseConversion('lower-case, input.')).toEqual('LOWER-CASE, INPUT.')
})
it('should return an all-uppercase string when input is an mixed-case string', () => {
expect(upperCaseConversion('mixeDCaSeINPuT')).toEqual('MIXEDCASEINPUT')
})
it('should return an all-uppercase string when input is an mixed-case string with spaces', () => {
expect(upperCaseConversion('mixeD CaSe INPuT')).toEqual('MIXED CASE INPUT')
})
it('should return an all-uppercase string when input is an mixed-case string with punctuation', () => {
expect(upperCaseConversion('mixeD-CaSe INPuT!')).toEqual('MIXED-CASE INPUT!')
})
})