77 lines
2.6 KiB
Python
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"
|