test_class.file: analyzer-core/src/test/java/com/galerieslafayette/analyzer/EncoderTest.java
test_class.identifier: EncoderTest
test_case.body: @Test
      public void testSubstringEndIndexEqualsToTailLength() throws Exception {
          Encoder encoder = new Encoder();
          String result = encoder.substring("E", 1, 1);
          Assertions.assertThat(result).isEmpty();
      }
test_case.class_method_signature: EncoderTest.testSubstringEndIndexEqualsToTailLength()
test_case.full_signature: @Test public void testSubstringEndIndexEqualsToTailLength()
test_case.identifier: testSubstringEndIndexEqualsToTailLength
test_case.invocations: substring isEmpty assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSubstringEndIndexEqualsToTailLength()
focal_class.declarator: VOWELS = Arrays.asList('A', 'E', '2', 'I', 'O', 'U', 'Y')
focal_class.modifier: private static final
focal_class.original_string: private static final List<Character> VOWELS = Arrays.asList('A', 'E', '2', 'I', 'O', 'U', 'Y');
focal_class.type: List<Character>
focal_class.var_name: VOWELS
focal_class.declarator: MUTED_ENDED_CONSONANT = Arrays.asList('C', 'D', 'H', 'G', 'P', 'S', 'T', 'X', 'Z')
focal_class.modifier: private static final
focal_class.original_string: private static final List<Character> MUTED_ENDED_CONSONANT = Arrays.asList('C', 'D', 'H', 'G', 'P', 'S', 'T', 'X', 'Z');
focal_class.type: List<Character>
focal_class.var_name: MUTED_ENDED_CONSONANT
focal_class.declarator: NOT_ALWAYS_MUTED_ENDED_CONSONANT = Arrays.asList('C', 'D', 'G', 'P', 'S', 'X', 'Z')
focal_class.modifier: private static final
focal_class.original_string: private static final List<Character> NOT_ALWAYS_MUTED_ENDED_CONSONANT = Arrays.asList('C', 'D', 'G', 'P', 'S', 'X', 'Z');
focal_class.type: List<Character>
focal_class.var_name: NOT_ALWAYS_MUTED_ENDED_CONSONANT
focal_class.declarator: MUTED_S_PRECEDING_VOWEL = Arrays.asList('A', 'O')
focal_class.modifier: private static final
focal_class.original_string: private static final List<Character> MUTED_S_PRECEDING_VOWEL = Arrays.asList('A', 'O');
focal_class.type: List<Character>
focal_class.var_name: MUTED_S_PRECEDING_VOWEL
focal_class.declarator: MUTED_S_FOLLOWING_CONSONANT = Arrays.asList('B', 'J', 'M')
focal_class.modifier: private static final
focal_class.original_string: private static final List<Character> MUTED_S_FOLLOWING_CONSONANT = Arrays.asList('B', 'J', 'M');
focal_class.type: List<Character>
focal_class.var_name: MUTED_S_FOLLOWING_CONSONANT
focal_class.declarator: DOUBLE_CONSONANT = Arrays.asList('C', 'P', 'R', 'T', 'Z', 'N', 'M', 'G', 'L', 'F')
focal_class.modifier: private static final
focal_class.original_string: private static final List<Character> DOUBLE_CONSONANT = Arrays.asList('C', 'P', 'R', 'T', 'Z', 'N', 'M', 'G', 'L', 'F');
focal_class.type: List<Character>
focal_class.var_name: DOUBLE_CONSONANT
focal_class.declarator: SOUND_2_ACCENTUATED_CHARS = Arrays.asList('É', 'È', 'Ê', 'Ë');
focal_class.modifier: public static final
focal_class.original_string: public static final List<Character> SOUND_2_ACCENTUATED_CHARS = Arrays.asList('É', 'È', 'Ê', 'Ë');
focal_class.type: List<Character>
focal_class.var_name: SOUND_2_ACCENTUATED_CHARS
focal_class.file: analyzer-core/src/main/java/com/galerieslafayette/analyzer/Encoder.java
focal_class.identifier: Encoder
focal_class.class_method_signature: Encoder.getSet(String value)
focal_class.full_signature: private static Set<String> getSet(String value)
focal_class.identifier: getSet
focal_class.modifiers: private static
focal_class.parameters: (String value)
focal_class.return: Set<String>
focal_class.signature: Set<String> getSet(String value)
focal_class.class_method_signature: Encoder.operatePhonetic(String acc, Character c, String tail)
focal_class.full_signature: public static Set<String> operatePhonetic(String acc, Character c, String tail)
focal_class.identifier: operatePhonetic
focal_class.modifiers: public static
focal_class.parameters: (String acc, Character c, String tail)
focal_class.return: Set<String>
focal_class.signature: Set<String> operatePhonetic(String acc, Character c, String tail)
focal_class.class_method_signature: Encoder.isDoubleConsonnant(Character c, String tail)
focal_class.full_signature: private static boolean isDoubleConsonnant(Character c, String tail)
focal_class.identifier: isDoubleConsonnant
focal_class.modifiers: private static
focal_class.parameters: (Character c, String tail)
focal_class.return: boolean
focal_class.signature: boolean isDoubleConsonnant(Character c, String tail)
focal_class.class_method_signature: Encoder.replaceTwoLettersSounds(String acc, char c, String tail)
focal_class.full_signature: private static Set<String> replaceTwoLettersSounds(String acc, char c, String tail)
focal_class.identifier: replaceTwoLettersSounds
focal_class.modifiers: private static
focal_class.parameters: (String acc, char c, String tail)
focal_class.return: Set<String>
focal_class.signature: Set<String> replaceTwoLettersSounds(String acc, char c, String tail)
focal_class.class_method_signature: Encoder.handleJEANSpecialCase(String acc, char c, String tail)
focal_class.full_signature: private static Set<String> handleJEANSpecialCase(String acc, char c, String tail)
focal_class.identifier: handleJEANSpecialCase
focal_class.modifiers: private static
focal_class.parameters: (String acc, char c, String tail)
focal_class.return: Set<String>
focal_class.signature: Set<String> handleJEANSpecialCase(String acc, char c, String tail)
focal_class.class_method_signature: Encoder.replaceAISounds(String acc, char c, String tail, Character... firstLetters)
focal_class.full_signature: private static Set<String> replaceAISounds(String acc, char c, String tail, Character... firstLetters)
focal_class.identifier: replaceAISounds
focal_class.modifiers: private static
focal_class.parameters: (String acc, char c, String tail, Character... firstLetters)
focal_class.return: Set<String>
focal_class.signature: Set<String> replaceAISounds(String acc, char c, String tail, Character... firstLetters)
focal_class.class_method_signature: Encoder.replaceThreeLettersINSound(String acc, char c, String tail, Character... firstLetters)
focal_class.full_signature: private static Set<String> replaceThreeLettersINSound(String acc, char c, String tail, Character... firstLetters)
focal_class.identifier: replaceThreeLettersINSound
focal_class.modifiers: private static
focal_class.parameters: (String acc, char c, String tail, Character... firstLetters)
focal_class.return: Set<String>
focal_class.signature: Set<String> replaceThreeLettersINSound(String acc, char c, String tail, Character... firstLetters)
focal_class.class_method_signature: Encoder.replaceONOrINOrANSound(String acc, char c, String tail, String replaceValue, Character... firstLetters)
focal_class.full_signature: private static Set<String> replaceONOrINOrANSound(String acc, char c, String tail, String replaceValue, Character... firstLetters)
focal_class.identifier: replaceONOrINOrANSound
focal_class.modifiers: private static
focal_class.parameters: (String acc, char c, String tail, String replaceValue, Character... firstLetters)
focal_class.return: Set<String>
focal_class.signature: Set<String> replaceONOrINOrANSound(String acc, char c, String tail, String replaceValue, Character... firstLetters)
focal_class.class_method_signature: Encoder.substring(String tail, int startIndex, int endIndex)
focal_class.full_signature: public static String substring(String tail, int startIndex, int endIndex)
focal_class.identifier: substring
focal_class.modifiers: public static
focal_class.parameters: (String tail, int startIndex, int endIndex)
focal_class.return: String
focal_class.signature: String substring(String tail, int startIndex, int endIndex)
focal_class.class_method_signature: Encoder.charAt(String tail, int position)
focal_class.full_signature: public static Character charAt(String tail, int position)
focal_class.identifier: charAt
focal_class.modifiers: public static
focal_class.parameters: (String tail, int position)
focal_class.return: Character
focal_class.signature: Character charAt(String tail, int position)
focal_method.body: public static String substring(String tail, int startIndex, int endIndex) {
          if (tail == null) {
              return "";
          }
          if (tail.length() <= startIndex) {
              return "";
          } else {
              if (endIndex > tail.length() - 1) {
                  return tail.substring(startIndex, tail.length());
              } else {
                  return tail.substring(startIndex, endIndex);
              }
          }
      }
focal_method.class_method_signature: Encoder.substring(String tail, int startIndex, int endIndex)
focal_method.full_signature: public static String substring(String tail, int startIndex, int endIndex)
focal_method.identifier: substring
focal_method.invocations: length length substring length substring
focal_method.modifiers: public static
focal_method.parameters: (String tail, int startIndex, int endIndex)
focal_method.return: String
focal_method.signature: String substring(String tail, int startIndex, int endIndex)