Files
super-app/android/navi-base/src/test/java/com/navi/base/AadhaarUtilsTest.kt
Balrambhai Sharma 7a060f3187 NTP-5471 | Abha aadhar fix (#13683)
Co-authored-by: Shivam Goyal <shivam.goyal@navi.com>
2024-11-20 14:16:23 +00:00

74 lines
2.2 KiB
Kotlin

/*
*
* * Copyright © 2024 by Navi Technologies Limited
* * All rights reserved. Strictly confidential
*
*/
package com.navi.base
import com.navi.base.utils.AadhaarUtils
import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
class AadhaarUtilsTest {
private val aadhaarUtils = AadhaarUtils()
@Test
fun `validateAadhaarNumber returns true for valid Aadhaar number`() {
val validAadhaar = "273838226780"
assertTrue(aadhaarUtils.isValidAadhaar(validAadhaar))
}
@Test
fun `validateAadhaarNumber returns false for invalid Aadhaar number`() {
val invalidAadhaar = "123456781235"
assertFalse(aadhaarUtils.isValidAadhaar(invalidAadhaar))
}
@Test
fun `validateAadhaarNumber returns false for non-numeric input`() {
val invalidAadhaar = "1234A6781234"
assertFalse(aadhaarUtils.isValidAadhaar(invalidAadhaar))
}
@Test
fun `validateAadhaarNumber returns false for input with less than 12 digits`() {
val shortAadhaar = "123456"
assertFalse(aadhaarUtils.isValidAadhaar(shortAadhaar))
}
@Test
fun `validateAadhaarNumber returns false for input with more than 12 digits`() {
val longAadhaar = "1234567890123"
assertFalse(aadhaarUtils.isValidAadhaar(longAadhaar))
}
@Test
fun `validateVerhoeff returns true for valid Verhoeff number`() {
val validVerhoeff = "236"
assertTrue(aadhaarUtils.validateVerhoeff(validVerhoeff))
}
@Test
fun `validateVerhoeff returns false for invalid Verhoeff number`() {
val invalidVerhoeff = "123"
assertFalse(aadhaarUtils.validateVerhoeff(invalidVerhoeff))
}
@Test
fun `stringToReversedIntArray correctly reverses string to int array`() {
val input = "12345"
val expected = intArrayOf(5, 4, 3, 2, 1)
assertArrayEquals(expected, aadhaarUtils.stringToReversedIntArray(input))
}
@Test(expected = NumberFormatException::class)
fun `stringToReversedIntArray throws exception for non-numeric input`() {
val input = "12A45"
aadhaarUtils.stringToReversedIntArray(input)
}
}