Files
noid-py/test_noid.py
2026-07-10 09:00:57 +02:00

77 lines
2.6 KiB
Python

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"