Adding tests for pytest

This commit is contained in:
2026-07-10 09:00:57 +02:00
parent dbea7b607c
commit 1dfd59ef88
+76
View File
@@ -0,0 +1,76 @@
import pytest
from noid import Minter
class TestParseTemplate:
"""Tests pour la méthode parse_template de la classe Minter"""
def test_parse_template_invalid_no_prefix_letter(self):
"""Test des templates invalides (mask ne commence pas par r, s ou z)"""
m = Minter()
result = m.parse_template("test")
assert result == -1
assert m.template == "test"
assert m.prefix == ""
assert m.mask == "test"
def test_parse_template_invalid_multiple_k(self):
"""Test des templates invalides (plusieurs 'k' dans le mask)"""
m = Minter()
assert m.parse_template("testkktest") == -1
def test_parse_template_invalid_k_not_at_end(self):
"""Test des templates invalides (k n'est pas à la fin)"""
m = Minter()
assert m.parse_template("rtesk") == -1
assert m.parse_template("rteksk") == -1
assert m.parse_template("rtkkes") == -1
def test_parse_template_invalid_chars_after_prefix(self):
"""Test des templates invalides (caractères autres que d/e après le préfixe)"""
m = Minter()
assert m.parse_template("ed") == -1
def test_parse_template_valid_reded(self):
"""Test d'une template valide 'reded'"""
m = Minter()
result = m.parse_template("reded")
assert result == 84100
assert m.template == "reded"
assert m.prefix == ""
assert m.mask == "reded"
def test_parse_template_valid_red(self):
"""Test d'une template valide 'red'"""
m = Minter()
result = m.parse_template("red")
assert result == 290
assert m.template == "red"
assert m.prefix == ""
assert m.mask == "red"
def test_parse_template_valid_redk(self):
"""Test d'une template valide 'redk' (k à la fin)"""
m = Minter()
result = m.parse_template("redk")
assert result == 290
assert m.template == "redk"
assert m.prefix == ""
assert m.mask == "redk"
def test_parse_template_with_prefix_and_mask(self):
"""Test d'une template avec préfixe et mask"""
m = Minter()
result = m.parse_template("prefix.rde")
assert result == 290
assert m.template == "prefix.rde"
assert m.prefix == "prefix"
assert m.mask == "rde"
def test_parse_template_with_suffix_slash(self):
"""Test d'une template avec suffixe '/'"""
m = Minter()
result = m.parse_template("test/")
assert result == -1 # car mask='test' ne commence pas par r/s/z
assert m.template == "test/"
assert m.prefix == ""
assert m.mask == "test"