Skip to content

Commit

Permalink
quality checker level tags more specific MOSIP-29419 (#1778)
Browse files Browse the repository at this point in the history
* quality checker level tags more specific MOSIP-29419

* quality checker level tags more specific MOSIP-29419

* quality checker level tags more specific MOSIP-29419
  • Loading branch information
Khuddusshariff0022 authored Sep 25, 2023
1 parent 05e3b26 commit 282598f
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ public class QualityClassifierStage extends MosipVerticleAPIManager {
* inclusive.
*/

@Value("#{${mosip.regproc.quality.classifier.tagging.quality.ranges:{'Poor':'0-29','Average':'30-69','Good':'70-100'}}}")
@Value("#{${mosip.regproc.quality.classifier.tagging.quality.ranges:{'level-1':'0-10','level-2':'10-20','level-3':'20-30','level-4':'30-40','level-5':'40-50','level-6':'50-60','level-7':'60-70','level-8':'70-80','level-9':'80-90','level-10':'90-101',}}}")
private Map<String, String> qualityClassificationRangeMap;

/** Quality Tag Prefix */
Expand Down Expand Up @@ -461,7 +461,7 @@ private Map<String, String> getQualityTags(List<BIR> birs) throws BiometricExcep
for (Entry<String, int[]> qualityRangeEntry : parsedQualityRangeMap.entrySet()) {

if (bioTypeMinEntry.getValue() >= qualityRangeEntry.getValue()[0]
&& bioTypeMinEntry.getValue() <= qualityRangeEntry.getValue()[1]) {
&& bioTypeMinEntry.getValue() < qualityRangeEntry.getValue()[1]) {

tags.put( qualityTagPrefix.concat(bioTypeMinEntry.getKey()), qualityRangeEntry.getKey());
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,19 @@ public class QualityClassifierStageTest {

private String qualityPrefixTag = "Biometric_Quality-";

private String AVERAGE = "Average";

private String POOR = "Poor";
private String level_1 = "level-1";
private String level_2 = "level-2";
private String level_3 = "level-3";
private String level_4 = "level-4";
private String level_5 = "level-5";
private String level_6 = "level-6";
private String level_7 = "level-7";
private String level_8 = "level-8";
private String level_9 = "level-9";
private String level_10 = "level-10";

private String GOOD = "Good";

//
JSONObject mappingJSONObject;

@InjectMocks
Expand Down Expand Up @@ -184,17 +190,33 @@ public void setUp() throws Exception {
ReflectionTestUtils.setField(qualityClassifierStage, "qualityTagPrefix", qualityPrefixTag);

Map<String, String> qualityClassificationRangeMap = new HashMap<String, String>();
qualityClassificationRangeMap.put(POOR, "0-29");
qualityClassificationRangeMap.put(AVERAGE, "30-69");
qualityClassificationRangeMap.put(GOOD, "70-100");
qualityClassificationRangeMap.put(level_1, "0-10");
qualityClassificationRangeMap.put(level_2, "10-20");
qualityClassificationRangeMap.put(level_3, "20-30");
qualityClassificationRangeMap.put(level_4, "30-40");
qualityClassificationRangeMap.put(level_5, "40-50");
qualityClassificationRangeMap.put(level_6, "50-60");
qualityClassificationRangeMap.put(level_7, "60-70");
qualityClassificationRangeMap.put(level_8, "70-80");
qualityClassificationRangeMap.put(level_9, "80-90");
qualityClassificationRangeMap.put(level_10, "90-101");


ReflectionTestUtils.setField(qualityClassifierStage, "qualityClassificationRangeMap",
qualityClassificationRangeMap);

Map<String, int[]> parsedMap = new HashMap<String, int[]>();
parsedMap.put(POOR, new int[] { 0, 29 });
parsedMap.put(AVERAGE, new int[] { 30, 69 });
parsedMap.put(GOOD, new int[] { 70, 100 });
parsedMap.put(level_1, new int[] { 0, 10 });
parsedMap.put(level_2, new int[] { 10, 20 });
parsedMap.put(level_3, new int[] { 20, 30 });
parsedMap.put(level_4, new int[] { 30, 40 });
parsedMap.put(level_5, new int[] { 40, 50 });
parsedMap.put(level_6, new int[] { 50, 60 });
parsedMap.put(level_7, new int[] { 60, 70 });
parsedMap.put(level_8, new int[] { 70, 80 });
parsedMap.put(level_9, new int[] { 80, 90 });
parsedMap.put(level_10, new int[] { 90, 101 });


ReflectionTestUtils.setField(qualityClassifierStage, "parsedQualityRangeMap", parsedMap);
ReflectionTestUtils.setField(qualityClassifierStage, "modalities", Arrays.asList("Iris", "Finger", "Face"));
Expand Down Expand Up @@ -327,7 +349,7 @@ public void testQualityClassifierMixTags() throws Exception {

verify(packetManagerService, atLeastOnce()).addOrUpdateTags(any(), argument.capture());

assertQualityTags(argument.getAllValues().get(0), AVERAGE, POOR, GOOD);
assertQualityTags(argument.getAllValues().get(0), level_5, level_3, level_10);

}

Expand All @@ -350,7 +372,7 @@ public void testQualityClassifierAllGoodTags() throws ApisResourceAccessExceptio

verify(packetManagerService, atLeastOnce()).addOrUpdateTags(any(), argument.capture());

assertQualityTags(argument.getAllValues().get(0), GOOD, GOOD, GOOD);
assertQualityTags(argument.getAllValues().get(0), level_10, level_10, level_10);

}

Expand Down

0 comments on commit 282598f

Please sign in to comment.