libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

IbanTest.kt (1256B)


      1 /*
      2  * This file is part of LibEuFin.
      3  * Copyright (C) 2025 Taler Systems S.A.
      4 
      5  * LibEuFin is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU Affero General Public License as
      7  * published by the Free Software Foundation; either version 3, or
      8  * (at your option) any later version.
      9 
     10  * LibEuFin is distributed in the hope that it will be useful, but
     11  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     12  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General
     13  * Public License for more details.
     14 
     15  * You should have received a copy of the GNU Affero General Public
     16  * License along with LibEuFin; see the file COPYING.  If not, see
     17  * <http://www.gnu.org/licenses/>
     18  */
     19 
     20 import org.junit.Test
     21 import tech.libeufin.common.*
     22 import kotlin.test.assertEquals
     23 
     24 class IbanTest {
     25     @Test
     26     fun valid() {
     27         for ((iban, bban) in VALID_IBAN) {
     28             val parsed = IBAN.parse(iban)
     29         }
     30     }
     31 
     32     @Test
     33     fun roundtrip() {
     34         for (country in Country.values()) {
     35             val gen = IBAN.rand(country)
     36             println("$gen")
     37             val parsed = IBAN.parse("$gen")
     38             println("$gen $parsed")
     39             assertEquals(gen, parsed)
     40         }
     41     }
     42 }