1+ /*
2+ * Copyright (C) 2017 Mateusz Utkała
3+ *
4+ * Licensed under the Apache License, Version 2.0 (the "License");
5+ * you may not use this file except in compliance with the License.
6+ * You may obtain a copy of the License at
7+ *
8+ * http://www.apache.org/licenses/LICENSE-2.0
9+ *
10+ * Unless required by applicable law or agreed to in writing, software
11+ * distributed under the License is distributed on an "AS IS" BASIS,
12+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ * See the License for the specific language governing permissions and
14+ * limitations under the License.
15+ */
16+
17+ package pl.utkala.polishidentifiersutils
18+
19+ import org.junit.Assert.assertEquals
20+ import org.junit.Test
21+
22+
23+ class PeselUtilTest {
24+ @Test
25+ fun validPeselTest () {
26+ var pesel = PeselUtil (" 67881319915" )
27+ assertEquals(pesel.isValid(), true )
28+ assertEquals(pesel.error, null )
29+
30+ pesel = PeselUtil (" 78060533750" )
31+ assertEquals(pesel.isValid(), true )
32+ assertEquals(pesel.error, null )
33+
34+ pesel = PeselUtil (" 61021854465" )
35+ assertEquals(pesel.isValid(), true )
36+ assertEquals(pesel.error, null )
37+
38+ pesel = PeselUtil (" 09272910390" )
39+ assertEquals(pesel.isValid(), true )
40+ assertEquals(pesel.error, null )
41+
42+ pesel = PeselUtil (" 35111831513" )
43+ assertEquals(pesel.isValid(), true )
44+ assertEquals(pesel.error, null )
45+ }
46+
47+ @Test
48+ fun invalidPeselTest () {
49+ val pesel = PeselUtil (" 67881319910" )
50+ assertEquals(pesel.isValid(), false )
51+ assertEquals(pesel.error, ValidatorError .INVALID )
52+ }
53+
54+ @Test
55+ fun emptyPeselTest () {
56+ val pesel = PeselUtil (" " )
57+ assertEquals(pesel.isValid(), false )
58+ assertEquals(pesel.error, ValidatorError .WRONG_LENGTH )
59+ }
60+
61+ @Test
62+ fun shortPeselTest () {
63+ val pesel = PeselUtil (" 123" )
64+ assertEquals(pesel.isValid(), false )
65+ assertEquals(pesel.error, ValidatorError .WRONG_LENGTH )
66+ }
67+
68+ @Test
69+ fun longPeselTest () {
70+ val pesel = PeselUtil (" 12345678901234" )
71+ assertEquals(pesel.isValid(), false )
72+ assertEquals(pesel.error, ValidatorError .WRONG_LENGTH )
73+ }
74+
75+ @Test
76+ fun notNumberPeselTest () {
77+ val pesel = PeselUtil (" abc" )
78+ assertEquals(pesel.isValid(), false )
79+ assertEquals(pesel.error, ValidatorError .WRONG_LENGTH )
80+ }
81+
82+ @Test
83+ fun mixedLetterNumberPeselTest () {
84+ val pesel = PeselUtil (" 123abc34247" )
85+ assertEquals(pesel.isValid(), false )
86+ assertEquals(pesel.error, ValidatorError .INVALID_INPUT )
87+ }
88+
89+ @Test
90+ fun checkGenderForValidPeselTest () {
91+ var pesel = PeselUtil (" 67881319915" )
92+ assertEquals(pesel.isValid(), true )
93+ assertEquals(pesel.getGender(), PeselUtil .Gender .MALE )
94+
95+ pesel = PeselUtil (" 61021854465" )
96+ assertEquals(pesel.isValid(), true )
97+ assertEquals(pesel.getGender(), PeselUtil .Gender .FEMALE )
98+ }
99+
100+ @Test
101+ fun checkGenderForInvalidPeselTest () {
102+ val pesel = PeselUtil (" 67881319911" )
103+ assertEquals(pesel.isValid(), false )
104+ assertEquals(pesel.getGender(), null )
105+ }
106+
107+ @Test
108+ fun checkBirthDateForValidPeselTest () {
109+ var pesel = PeselUtil (" 67881319915" )
110+ assertEquals(pesel.isValid(), true )
111+ assertEquals(pesel.getBirthDate(), " 1867-08-13" )
112+
113+ pesel = PeselUtil (" 61021854465" )
114+ assertEquals(pesel.isValid(), true )
115+ assertEquals(pesel.getBirthDate(), " 1961-02-18" )
116+
117+ pesel = PeselUtil (" 01301055623" )
118+ assertEquals(pesel.isValid(), true )
119+ assertEquals(pesel.getBirthDate(), " 2001-10-10" )
120+
121+ pesel = PeselUtil (" 33450593635" )
122+ assertEquals(pesel.isValid(), true )
123+ assertEquals(pesel.getBirthDate(), " 2133-05-05" )
124+ }
125+
126+ @Test
127+ fun checkBirthDateForInvalidPeselTest () {
128+ val pesel = PeselUtil (" 67881319911" )
129+ assertEquals(pesel.isValid(), false )
130+ assertEquals(pesel.getBirthDate(), null )
131+ }
132+
133+ }
0 commit comments