export const isEmptyCases = [
{ valueInput: '', valueOutput: true },
{ valueInput: ' ', valueOutput: true },
{ valueInput: null, valueOutput: true },
{ valueInput: undefined, valueOutput: true },
{ valueInput: '0', valueOutput: false },
{ valueInput: 'ab', valueOutput: false },
]
export const replaceAccentuatedCharsCases = [
{ valueInput: 'ÁÀÂÃÄ', valueOutput: 'AAAAA' },
{ valueInput: 'áàâãä', valueOutput: 'aaaaa' },
{ valueInput: 'Ç', valueOutput: 'C' },
]
export const replaceAccentuatedCharsKeepSymbolsCases = [
{ valueInput: 'áéíóú', valueOutput: 'AEIOU' },
{ valueInput: 'âêîôû', valueOutput: 'AEIOU' },
{ valueInput: 'çñ', valueOutput: 'CN' },
{ valueInput: 'ãõ', valueOutput: 'AO' },
{ valueInput: 'hello', valueOutput: 'HELLO' },
{ valueInput: 'WORLD', valueOutput: 'WORLD' },
{ valueInput: '12345', valueOutput: '12345' },
{ valueInput: '!@#$%^&*()', valueOutput: '!@#$%^&*()' },
{ valueInput: 'Olá, mundo!', valueOutput: 'OLA, MUNDO!' },
{ valueInput: 'Café com leite!', valueOutput: 'CAFE COM LEITE!' },
{ valueInput: '123 çñ áéíóú', valueOutput: '123 CN AEIOU' },
{ valueInput: '', valueOutput: '' },
{ valueInput: 'àèìòù', valueOutput: 'AEIOU' },
{ valueInput: 'ÀÈÌÒÙ', valueOutput: 'AEIOU' },
{ valueInput: 'ÁÉÍÓÚÇÑãõâêîôû', valueOutput: 'AEIOUCNAOAEIOU' },
];
export const replaceBlankCharactersCases = [
{ valueInput: 'Hello World', valueOutput: 'HelloWorld' },
{ valueInput: 'Test 123', valueOutput: 'Test123' },
{ valueInput: 'Replace spaces', valueOutput: 'Replacespaces' },
{ valueInput: 'NoSpacesHere', valueOutput: 'NoSpacesHere' },
{ valueInput: 'Multiple spaces here', valueOutput: 'Multiplespaceshere' },
{ valueInput: ' Leading and trailing spaces ', valueOutput: 'Leadingandtrailingspaces' },
{ valueInput: '', valueOutput: '' },
{ valueInput: 'SingleSpace', valueOutput: 'SingleSpace' },
];
export const replaceToSpaceCases = [
{ valueInput: 'Hello World', replaceList: ['World'], valueOutput: 'Hello ' },
{ valueInput: 'Test 123', replaceList: ['123'], valueOutput: 'Test ' },
{ valueInput: 'Replace the word', replaceList: ['word'], valueOutput: 'Replace the ' },
{ valueInput: 'No change here', replaceList: ['no'], valueOutput: 'No change here' },
{ valueInput: 'Multiple words to replace', replaceList: ['Multiple', 'replace'], valueOutput: ' words to ' },
{ valueInput: ' Leading and trailing spaces ', replaceList: ['Leading', 'spaces'], valueOutput: ' and trailing ' },
{ valueInput: '', replaceList: ['word'], valueOutput: '' },
{ valueInput: 'Single word replacement', replaceList: ['word'], valueOutput: 'Single replacement' },
{ valueInput: 'Only word here', replaceList: ['Only', 'here'], valueOutput: ' word ' },
{ valueInput: 'Replace multiple occurrences', replaceList: ['multiple'], valueOutput: 'Replace occurrences' },
];
export const replaceAllCases = [
{ valueInput: 'Hello World', strFrom: 'World', strTo: 'Universe', valueOutput: 'Hello Universe' },
{ valueInput: 'Test 123 123', strFrom: '123', strTo: '456', valueOutput: 'Test 456 456' },
{ valueInput: 'Replace all spaces', strFrom: ' ', strTo: '_', valueOutput: 'Replace_all_spaces' },
{ valueInput: 'No changes here', strFrom: 'word', strTo: 'term', valueOutput: 'No changes here' },
{ valueInput: 'Multiple occurrences of term term term', strFrom: 'term', strTo: 'word', valueOutput: 'Multiple occurrences of word word word' },
{ valueInput: 'Case Sensitive Test', strFrom: 'test', strTo: 'exam', valueOutput: 'Case Sensitive Test' },
{ valueInput: 'Multiple words to replace', strFrom: ' ', strTo: '-', valueOutput: 'Multiple-words-to-replace' },
{ valueInput: '', strFrom: 'word', strTo: 'term', valueOutput: '' },
{ valueInput: 'aaaa bbbb aaaa', strFrom: 'aaaa', strTo: 'cccc', valueOutput: 'cccc bbbb cccc' },
{ valueInput: 'Look at this example: example example', strFrom: 'example', strTo: 'demo', valueOutput: 'Look at this demo: demo demo' },
];
export const removeSpecialCharactersCases = [
{ valueInput: 'Hello!@#$ World', valueOutput: 'Hello World' },
{ valueInput: 'Test 123 #$%', valueOutput: 'Test 123 ' },
{ valueInput: 'Remove *&%$# special characters!', valueOutput: 'Remove special characters' },
{ valueInput: 'NoSpecialCharsHere', valueOutput: 'NoSpecialCharsHere' },
{ valueInput: '!!!Start and End!!!', valueOutput: 'Start and End' },
{ valueInput: '12345', valueOutput: '12345' },
{ valueInput: 'Clean this string @&*#$', valueOutput: 'Clean this string ' },
{ valueInput: '', valueOutput: '' },
{ valueInput: 'We @like $ to @#test!!', valueOutput: 'We like to test' },
{ valueInput: 'Some $pec!@l #chars %%%%%&*(', valueOutput: 'Some pecl chars ' },
];
export const isStringCases = [
{ valueInput: 'Hello, World!', valueOutput: true },
{ valueInput: '', valueOutput: true },
{ valueInput: new String('Test String'), valueOutput: true },
{ valueInput: 12345, valueOutput: false },
{ valueInput: null, valueOutput: false },
{ valueInput: undefined, valueOutput: false },
{ valueInput: { key: 'value' }, valueOutput: false },
{ valueInput: ['array'], valueOutput: false },
{ valueInput: true, valueOutput: false },
{ valueInput: Symbol('test'), valueOutput: false },
{ valueInput: function () {}, valueOutput: false },
{ valueInput: NaN, valueOutput: false },
];
export const decodeHtmlEntitiesCases = [
{ valueInput: 'Hello & World', valueOutput: 'Hello & World' },
{ valueInput: 'Apostrophe: ' or '', valueOutput: 'Apostrophe: \' or \'' },
{ valueInput: 'Slash: / or /', valueOutput: 'Slash: / or /' },
{ valueInput: 'Less than: < Greater than: >', valueOutput: 'Less than: < Greater than: >' },
{ valueInput: 'Non-breaking space: ', valueOutput: 'Non-breaking space: ' },
{ valueInput: 'Quote: "', valueOutput: 'Quote: "' },
{ valueInput: 'No entities here', valueOutput: 'No entities here' },
{ valueInput: '', valueOutput: '' },
{ valueInput: 'Multiple entities: &<>"', valueOutput: 'Multiple entities: &<>"' },
{ valueInput: null, valueOutput: null },
{ valueInput: undefined, valueOutput: undefined },
];
export const hashCodeCases = [
{ valueInput: 'hello', valueOutput: '99162322' }, // Valor conhecido do hash
{ valueInput: 'world', valueOutput: '113318802' },
{ valueInput: '12345', valueOutput: '46792755' },
{ valueInput: '', valueOutput: '0' }, // Caso de string vazia
{ valueInput: 'a', valueOutput: '97' }, // Código ASCII de 'a'
{ valueInput: 'abc', valueOutput: '96354' }, // Valor hash de 'abc'
{ valueInput: 'Hello, World!', valueOutput: '1498789909' }, // Teste com caracteres especiais
{ valueInput: '😊', valueOutput: '1772909' }, // Emoji (unicode)
{ valueInput: 'Same input, same hash', valueOutput: '-895136796' }, // Consistência do hash
{ valueInput: 'Same input, same hash', valueOutput: '-895136796' }, // Repetição do caso anterior
];
export const getBooleanValueCases = [
{ valueInput: 'true', defaultValue: false, valueOutput: true },
{ valueInput: 'false', defaultValue: true, valueOutput: false },
{ valueInput: 'S', defaultValue: false, valueOutput: true }, // "S" considerado como true
{ valueInput: 'N', defaultValue: true, valueOutput: false }, // "N" considerado como false
{ valueInput: true, defaultValue: false, valueOutput: true }, // Valor booleano verdadeiro
{ valueInput: false, defaultValue: true, valueOutput: false }, // Valor booleano falso
{ valueInput: 'yes', defaultValue: false, valueOutput: false }, // String não reconhecida
{ valueInput: 'no', defaultValue: true, valueOutput: true }, // String não reconhecida
{ valueInput: '', defaultValue: true, valueOutput: true }, // String vazia
{ valueInput: undefined, defaultValue: false, valueOutput: false }, // Valor indefinido
{ valueInput: null, defaultValue: true, valueOutput: true }, // Valor nulo
];
export const padStartCases = [
{ valueInput: { str: '123', len: 6, pad: '0' }, valueOutput: '000123' }, // Preenchimento com '0'
{ valueInput: { str: 'test', len: 8, pad: ' ' }, valueOutput: ' test' }, // Preenchimento com espaços
{ valueInput: { str: '', len: 5, pad: '*' }, valueOutput: '*****' }, // String vazia
{ valueInput: { str: 'short', len: 3, pad: '-' }, valueOutput: 'short' }, // Nenhum preenchimento necessário
{ valueInput: { str: undefined, len: 4, pad: '#' }, valueOutput: '####' }, // `undefined` tratado como string vazia
{ valueInput: { str: null, len: 4, pad: '0' }, valueOutput: '0000' }, // `null` tratado como string vazia
{ valueInput: { str: 'pad', len: 10, pad: '-' }, valueOutput: '-------pad' }, // Preenchimento com um caractere repetido
{ valueInput: { str: '42', len: 5, pad: 'abc' }, valueOutput: 'abc42' }, // Preenchimento com sequência que excede o tamanho necessário
{ valueInput: { str: 'exact', len: 5, pad: '*' }, valueOutput: 'exact' }, // Comprimento já igual ao esperado
{ valueInput: { str: '', len: 0, pad: '-' }, valueOutput: '' }, // Comprimento zero, sem preenchimento
];
export const padEndCases = [
{ valueInput: { str: '123', len: 6, pad: '0' }, valueOutput: '123000' }, // Preenchimento com '0'
{ valueInput: { str: 'test', len: 8, pad: ' ' }, valueOutput: 'test ' }, // Preenchimento com espaços
{ valueInput: { str: '', len: 5, pad: '*' }, valueOutput: '*****' }, // String vazia
{ valueInput: { str: 'short', len: 3, pad: '-' }, valueOutput: 'short' }, // Nenhum preenchimento necessário
{ valueInput: { str: undefined, len: 4, pad: '#' }, valueOutput: '####' }, // `undefined` tratado como string vazia
{ valueInput: { str: null, len: 4, pad: '0' }, valueOutput: '0000' }, // `null` tratado como string vazia
{ valueInput: { str: 'pad', len: 10, pad: '-' }, valueOutput: 'pad-------' }, // Preenchimento com um caractere repetido
{ valueInput: { str: '42', len: 5, pad: 'abc' }, valueOutput: '42abc' }, // Preenchimento com sequência que excede o tamanho necessário
{ valueInput: { str: 'exact', len: 5, pad: '*' }, valueOutput: 'exact' }, // Comprimento já igual ao esperado
{ valueInput: { str: '', len: 0, pad: '-' }, valueOutput: '' }, // Comprimento zero, sem preenchimento
];
export const compareCases = [
{ valueInput: { a: undefined, b: undefined }, valueOutput: 0 }, // Ambos undefined
{ valueInput: { a: undefined, b: null }, valueOutput: 1 }, // a undefined, b null
{ valueInput: { a: null, b: undefined }, valueOutput: -1 }, // a null, b undefined
{ valueInput: { a: null, b: null }, valueOutput: 0 }, // Ambos null
{ valueInput: { a: 'apple', b: undefined }, valueOutput: -1 }, // b undefined
{ valueInput: { a: undefined, b: 'banana' }, valueOutput: 1 }, // a undefined
{ valueInput: { a: 'apple', b: null }, valueOutput: -1 }, // b null
{ valueInput: { a: null, b: 'banana' }, valueOutput: 1 }, // a null
{ valueInput: { a: 'apple', b: 'banana' }, valueOutput: -1 }, // Comparação lexical
{ valueInput: { a: 'banana', b: 'apple' }, valueOutput: 1 }, // Comparação lexical invertida
{ valueInput: { a: 'apple', b: 'apple' }, valueOutput: 0 }, // Strings iguais
{ valueInput: { a: 'Apple', b: 'apple' }, valueOutput: 1 }, // Case-sensitive (lexical)
{ valueInput: { a: '123', b: '456' }, valueOutput: -1 }, // Strings numéricas
{ valueInput: { a: '', b: 'non-empty' }, valueOutput: -1 }, // String vazia comparada com não vazia
{ valueInput: { a: 'non-empty', b: '' }, valueOutput: 1 }, // Não vazia comparada com vazia
];
export const toCamelCaseCases = [
{ valueInput: 'hello_world', valueOutput: 'helloWorld' }, // Underscore
{ valueInput: 'hello-world', valueOutput: 'helloWorld' }, // Hífen
{ valueInput: 'hello world', valueOutput: 'helloWorld' }, // Espaço
{ valueInput: 'HelloWorld', valueOutput: 'helloworld' }, // Primeiro caractere maiúsculo
{ valueInput: 'helloWorld', valueOutput: 'helloWorld' }, // Já em camelCase
{ valueInput: 'hello.world', valueOutput: 'hello.world' }, // Contém ponto (não altera)
{ valueInput: 'HELLO_WORLD', valueOutput: 'helloWorld' }, // Uppercase e underscore
{ valueInput: 'multiple words-separated_hyphen', valueOutput: 'multipleWordsSeparatedHyphen' }, // Vários separadores
{ valueInput: 'CamelCaseAlready', valueOutput: 'camelcasealready' }, // Já em camelCase com primeiro caractere maiúsculo
{ valueInput: '', valueOutput: '' }, // String vazia
{ valueInput: null, valueOutput: '' }, // Valor nulo
{ valueInput: undefined, valueOutput: '' }, // Valor indefinido
{ valueInput: 'simple', valueOutput: 'simple' }, // Palavra única em minúsculo
{ valueInput: 'PascalCase', valueOutput: 'pascalcase' }, // PascalCase para camelCase
];
export const toPascalCaseCases = [
{ valueInput: 'hello_world', valueOutput: 'Helloworld' }, // Underscore
{ valueInput: 'hello-world', valueOutput: 'Helloworld' }, // Hífen
{ valueInput: 'hello world', valueOutput: 'HelloWorld' }, // Espaço
{ valueInput: 'HelloWorld', valueOutput: 'Helloworld' }, // Já em PascalCase
{ valueInput: 'helloWorld', valueOutput: 'Helloworld' }, // camelCase para PascalCase
{ valueInput: 'hello.world', valueOutput: 'Hello.world' }, // Contém ponto (não altera)
{ valueInput: 'HELLO_WORLD', valueOutput: 'Helloworld' }, // Uppercase e underscore
{ valueInput: 'multiple words-separated_hyphen', valueOutput: 'MultipleWordsseparatedhyphen' }, // Vários separadores
{ valueInput: 'camelCaseAlready', valueOutput: 'Camelcasealready' }, // camelCase para PascalCase
{ valueInput: '', valueOutput: '' }, // String vazia
{ valueInput: null, valueOutput: '' }, // Valor nulo
{ valueInput: undefined, valueOutput: '' }, // Valor indefinido
{ valueInput: 'simple', valueOutput: 'Simple' }, // Palavra única em minúsculo
{ valueInput: 'PascalCase', valueOutput: 'Pascalcase' }, // Já em PascalCase
];
export const toSnakeCaseCases = [
{ valueInput: 'helloWorld', valueOutput: 'helloworld' }, // camelCase para snake_case
{ valueInput: 'HelloWorld', valueOutput: 'helloworld' }, // PascalCase para snake_case
{ valueInput: 'hello-world', valueOutput: 'hello_world' }, // Hífen para underscore
{ valueInput: 'hello world', valueOutput: 'hello_world' }, // Espaço para underscore
{ valueInput: 'hello_world', valueOutput: 'hello_world' }, // Já em snake_case (sem alterações)
{ valueInput: 'HELLO_WORLD', valueOutput: 'hello_world' }, // Tudo maiúsculo para minúsculo
{ valueInput: 'multipleWordsSeparated-Hyphen', valueOutput: 'multiplewordsseparated_hyphen' }, // Mistura de espaços e hífen
{ valueInput: 'CamelCaseAlready', valueOutput: 'camelcasealready' }, // PascalCase para snake_case
{ valueInput: 'simple', valueOutput: 'simple' }, // Palavra única em minúsculo (sem alterações)
{ valueInput: 'PascalCase', valueOutput: 'pascalcase' }, // PascalCase para snake_case
{ valueInput: '', valueOutput: '' }, // String vazia
{ valueInput: null, valueOutput: '' }, // Valor nulo
{ valueInput: undefined, valueOutput: '' }, // Valor indefinido
{ valueInput: 'hello.world', valueOutput: 'hello.world' }, // Contém ponto (não altera)
];
export const toKebabCaseCases = [
{ valueInput: 'helloWorld', valueOutput: 'hello-world' }, // camelCase para kebab-case
{ valueInput: 'HelloWorld', valueOutput: 'hello-world' }, // PascalCase para kebab-case
{ valueInput: 'hello_world', valueOutput: 'hello-world' }, // Underscore para hífen
{ valueInput: 'hello world', valueOutput: 'hello-world' }, // Espaço para hífen
{ valueInput: 'hello-world', valueOutput: 'hello-world' }, // Já em kebab-case (sem alterações)
{ valueInput: 'HELLO_WORLD', valueOutput: 'hello-world' }, // Tudo maiúsculo para minúsculo com underscore
{ valueInput: 'multipleWordsSeparated_Hyphen', valueOutput: 'multiple-words-separated-hyphen' }, // Mistura de espaços e underscore
{ valueInput: 'CamelCaseAlready', valueOutput: 'camel-case-already' }, // PascalCase para kebab-case
{ valueInput: 'simple', valueOutput: 'simple' }, // Palavra única em minúsculo (sem alterações)
{ valueInput: 'PascalCase', valueOutput: 'pascal-case' }, // PascalCase para kebab-case
{ valueInput: '', valueOutput: '' }, // String vazia
{ valueInput: null, valueOutput: '' }, // Valor nulo
{ valueInput: undefined, valueOutput: '' }, // Valor indefinido
{ valueInput: 'hello.world', valueOutput: 'hello.world' }, // Contém ponto (não altera)
];
export const formatBytesCases = [
{ valueInput: 0, valueOutput: '0B' }, // Zero bytes
{ valueInput: 1, valueOutput: '1B' }, // 1 byte
{ valueInput: 512, valueOutput: '512B' }, // Menos que 1KB
{ valueInput: 1023, valueOutput: '1023B' }, // Ainda em bytes
{ valueInput: 1024, valueOutput: '1KB' }, // Exatamente 1KB
{ valueInput: 1536, valueOutput: '1.5KB' }, // 1.5KB
{ valueInput: 1048576, valueOutput: '1MB' }, // Exatamente 1MB
{ valueInput: 1572864, valueOutput: '1.5MB' }, // 1.5MB
{ valueInput: 1073741824, valueOutput: '1GB' }, // Exatamente 1GB
{ valueInput: 1610612736, valueOutput: '1.5GB' }, // 1.5GB
{ valueInput: 1099511627776, valueOutput: '1099511627776B' }, // Acima de GB (mantém em B)
{ valueInput: -1024, valueOutput: '-1024B' }, // Valor negativo (mantém em B)
{ valueInput: NaN, valueOutput: 'NaNundefined' }, // Valor inválido
{ valueInput: null, valueOutput: 'undefinedB' }, // Valor nulo tratado como NaN
{ valueInput: undefined, valueOutput: 'NaNundefined' }, // Valor indefinido tratado como NaN
];
export const prettyPrecisionCases = [
{ valueInput: '100.00', valueOutput: '100' }, // Remove todos os zeros desnecessários
{ valueInput: '123.4500', valueOutput: '123.45' }, // Remove zeros à direita após a vírgula
{ valueInput: '0.900', valueOutput: '0.9' }, // Remove zeros à direita após a vírgula
{ valueInput: '5.10', valueOutput: '5.1' }, // Remove último zero, mantém decimal
{ valueInput: '42.0', valueOutput: '42' }, // Remove ".0" quando não há outra decimal relevante
{ valueInput: '3.14159000', valueOutput: '3.14159' }, // Mantém parte decimal relevante
{ valueInput: '0.000', valueOutput: '0' }, // Apenas zeros devem resultar em "0"
{ valueInput: '250', valueOutput: '250' }, // Número inteiro não muda
{ valueInput: '999.999', valueOutput: '999.999' }, // Nenhum zero extra, mantém como está
{ valueInput: '100.', valueOutput: '100' }, // Remove ponto final se não houver decimal
{ valueInput: '.500', valueOutput: '.5' }, // Adiciona zero antes do ponto se necessário
{ valueInput: '0.', valueOutput: '0' }, // Remove ponto final solitário
{ valueInput: '123.456789000', valueOutput: '123.456789' }, // Mantém casas decimais relevantes
{ valueInput: '0.0', valueOutput: '0' }, // Remove ".0" de zero
{ valueInput: '', valueOutput: '' }, // String vazia permanece vazia
];
export const isCaseableCases = [
{ valueInput: 'hello', valueOutput: true }, // Apenas minúsculas
{ valueInput: 'HELLO', valueOutput: true }, // Apenas maiúsculas
{ valueInput: 'Hello', valueOutput: true }, // Mistura de maiúsculas e minúsculas
{ valueInput: 'hElLo', valueOutput: true }, // Alternância de maiúsculas e minúsculas
{ valueInput: '12345', valueOutput: false }, // Apenas números
{ valueInput: '123ABC', valueOutput: true }, // Números e letras maiúsculas
{ valueInput: '123abc', valueOutput: true }, // Números e letras minúsculas
{ valueInput: '123aBc', valueOutput: true }, // Mistura de números e letras caseáveis
{ valueInput: '!@#$%^&*()', valueOutput: false }, // Apenas caracteres especiais
{ valueInput: 'hello_world', valueOutput: true }, // Contém underscore mas tem letras
{ valueInput: 'HELLO-WORLD', valueOutput: true }, // Contém hífen mas tem letras
{ valueInput: '', valueOutput: false }, // String vazia
{ valueInput: ' ', valueOutput: false }, // Apenas espaço
{ valueInput: null, valueOutput: false }, // Valor nulo
{ valueInput: undefined, valueOutput: false }, // Valor indefinido
];
export const isLowerCaseCases = [
{ valueInput: 'hello', valueOutput: true }, // Apenas minúsculas
{ valueInput: 'HELLO', valueOutput: false }, // Apenas maiúsculas
{ valueInput: 'Hello', valueOutput: true }, // Primeira maiúscula, restante minúscula TODO: REAVALIAR
{ valueInput: 'hElLo', valueOutput: true }, // Alternância de maiúsculas e minúsculas TODO: REAVALIAR
{ valueInput: 'hello world', valueOutput: true }, // Minúsculas com espaço
{ valueInput: 'hello_world', valueOutput: true }, // Minúsculas com underscore
{ valueInput: 'hello-world', valueOutput: true }, // Minúsculas com hífen
{ valueInput: '12345', valueOutput: false }, // Apenas números
{ valueInput: '123abc', valueOutput: true }, // Números e letras minúsculas
{ valueInput: '123ABC', valueOutput: false }, // Números e letras maiúsculas
{ valueInput: '!@#$%^&*()', valueOutput: false }, // Apenas caracteres especiais
{ valueInput: '', valueOutput: false }, // String vazia
{ valueInput: ' ', valueOutput: false }, // Apenas espaço
{ valueInput: null, valueOutput: false }, // Valor nulo
{ valueInput: undefined, valueOutput: false }, // Valor indefinido
];
export const getOppositeCaseCases = [
{ valueInput: 'hello', valueOutput: 'HELLO' }, // Minúsculas para maiúsculas
{ valueInput: 'HELLO', valueOutput: 'hello' }, // Maiúsculas para minúsculas
{ valueInput: 'Hello', valueOutput: 'HELLO' }, // Primeira maiúscula, restante minúscula → tudo minúsculo //TODO: ANALISAR
{ valueInput: 'hElLo', valueOutput: 'HELLO' }, // Alternância de maiúsculas e minúsculas → tudo minúsculo //TODO: ANALISAR
{ valueInput: 'hello world', valueOutput: 'HELLO WORLD' }, // Minúsculas com espaço → Maiúsculas
{ valueInput: 'HELLO WORLD', valueOutput: 'hello world' }, // Maiúsculas com espaço → Minúsculas
{ valueInput: 'hello_world', valueOutput: 'HELLO_WORLD' }, // Minúsculas com underscore → Maiúsculas
{ valueInput: 'HELLO_WORLD', valueOutput: 'hello_world' }, // Maiúsculas com underscore → Minúsculas
{ valueInput: 'hello-world', valueOutput: 'HELLO-WORLD' }, // Minúsculas com hífen → Maiúsculas
{ valueInput: 'HELLO-WORLD', valueOutput: 'hello-world' }, // Maiúsculas com hífen → Minúsculas
{ valueInput: '12345', valueOutput: '12345' }, // Apenas números (sem alteração)
{ valueInput: '123abc', valueOutput: '123ABC' }, // Números e letras minúsculas → Letras maiúsculas
{ valueInput: '123ABC', valueOutput: '123abc' }, // Números e letras maiúsculas → Letras minúsculas
{ valueInput: '!@#$%^&*()', valueOutput: '!@#$%^&*()' }, // Apenas caracteres especiais (sem alteração)
{ valueInput: '', valueOutput: '' }, // String vazia (sem alteração)
{ valueInput: ' ', valueOutput: ' ' }, // Apenas espaço (sem alteração)
{ valueInput: null, valueOutput: '' }, // Valor nulo tratado como string vazia
{ valueInput: undefined, valueOutput: '' }, // Valor indefinido tratado como string vazia
];
export const getSpecialCharactersCases = [
{ valueInput: 'hello', valueOutput: [] }, // Nenhum caractere especial
{ valueInput: 'hello@world.com', valueOutput: ['@', '.'] }, // E-mail: captura '@' e '.'
{ valueInput: 'price: $100.00', valueOutput: [':', '$', '.'] }, // Preço: captura ':', '$' e '.'
{ valueInput: '50% discount!', valueOutput: ['%', '!'] }, // Captura '%' e '!'
{ valueInput: 'C:\\Users\\Admin', valueOutput: [':', '\\', '\\'] }, // Caminho do Windows: captura '\\'
{ valueInput: 'https://example.com', valueOutput: [':', '/', '/', '.'] }, // URL: captura ':', '/', '/', '.'
{ valueInput: 'filename.txt', valueOutput: ['.'] }, // Extensão de arquivo: captura '.'
{ valueInput: 'sum = a + b - c * d / e', valueOutput: ['=', '+', '-', '*', '/'] }, // Operadores matemáticos
{ valueInput: '#hashtag @user!', valueOutput: ['#', '@', '!'] }, // Hashtags e menções
{ valueInput: '(parentheses) & [brackets] {curly}', valueOutput: ['(', ')', '&', '[' ] }, // Captura parênteses e colchetes
{ valueInput: 'one_two-three', valueOutput: ['_', '-'] }, // Captura underscore e hífen
{ valueInput: 'email+alias@gmail.com', valueOutput: ['+', '@', '.'] }, // Captura '+' usado em e-mails
{ valueInput: 'a = "text" or \'char\'', valueOutput: ['=', '"', '"', "'", "'"] }, // Aspas duplas e simples
{ valueInput: '', valueOutput: [] }, // String vazia → Nenhum caractere especial
{ valueInput: ' ', valueOutput: [] }, // Apenas espaços → Nenhum caractere especial
{ valueInput: null, valueOutput: [] }, // Valor nulo tratado como string vazia
{ valueInput: undefined, valueOutput: [] }, // Valor indefinido tratado como string vazia
];
export const getArgumentNumberCases = [
{ valueInput: '42', valueOutput: 42 }, // Número inteiro válido
{ valueInput: '3.14', valueOutput: 3.14 }, // Número decimal válido
{ valueInput: '-100', valueOutput: -100 }, // Número negativo válido
{ valueInput: '0', valueOutput: 0 }, // Zero
{ valueInput: '', valueOutput: NaN }, // String vazia → NaN
{ valueInput: 'abc', valueOutput: NaN }, // String não numérica → NaN
{ valueInput: '123abc', valueOutput: NaN }, // Mistura de número e letras → NaN
{ valueInput: ' 50 ', valueOutput: 50 }, // Número com espaços → Convertido corretamente
{ valueInput: '1e3', valueOutput: 1000 }, // Notação científica → 1000
{ valueInput: 'Infinity', valueOutput: Infinity }, // Infinity string → Infinity
{ valueInput: '-Infinity', valueOutput: -Infinity }, // -Infinity string → -Infinity
{ valueInput: null, valueOutput: NaN }, // Valor nulo → NaN
{ valueInput: undefined, valueOutput: NaN }, // Valor indefinido → NaN
];
export const highlightValueCases = [
{
valueInput: { argument: 'hello', matchFields: ['field1'], value: 'hello world', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello world"
}, // Palavra encontrada e destacada
{
valueInput: { argument: 'world', matchFields: ['field1'], value: 'hello world', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello world"
}, // Última palavra destacada
{
valueInput: { argument: 'lo', matchFields: ['field1'], value: 'hello world', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello world"
}, // Destacando parte de uma palavra
{
valueInput: { argument: 'Hello', matchFields: ['field1'], value: 'hello world', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello world"
}, // Case insensitive
{
valueInput: { argument: 'hello', matchFields: ['field1'], value: 'hello hello', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello hello"
}, // Destacando palavras repetidas //TODO: analisar, pois não sabe lidar com esse cenário
{
valueInput: { argument: '123', matchFields: ['field1'], value: 'abc 123 def', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "abc 123 def"
}, // Destacando número
{
valueInput: { argument: 'abc', matchFields: ['field2'], value: 'abc 123 def', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "abc 123 def"
}, // Campo não corresponde, não há destaque
{
valueInput: { argument: 'abc', matchFields: ['field1'], value: 'abc 123 def', fieldMD: { fieldName: 'field1' }, forceMatch: true },
valueOutput: "abc 123 def"
}, // `forceMatch` ativado, destacando mesmo sem correspondência de campo
{
valueInput: { argument: 'abc', matchFields: ['field1'], value: 'ABC 123 def', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "ABC 123 def"
}, // Case insensitive destaque
{
valueInput: { argument: '!', matchFields: ['field1'], value: 'hello!', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello!"
}, // Caracteres especiais não são destacados
{
valueInput: { argument: '', matchFields: ['field1'], value: 'hello world', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello world"
}, // Argumento vazio, sem destaque
{
valueInput: { argument: null, matchFields: ['field1'], value: 'hello world', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: "hello world"
}, // `null` como argumento, sem destaque
{
valueInput: { argument: 'hello', matchFields: ['field1'], value: '', fieldMD: { fieldName: 'field1' }, forceMatch: false },
valueOutput: ""
}, // Valor vazio, sem destaque
];