Add a very very simple test checking that the parser actually works.

This commit is contained in:
2023-01-31 23:43:01 +01:00
parent 02ccac333c
commit f48f0bb0ac
6 changed files with 37 additions and 18 deletions

View File

@ -4,7 +4,7 @@ version = "0.1.0"
description = "Port of the Ziffers numerical notation for Python"
authors = [
{name = "Raphaël Forment", email="raphael.forment@gmail.com"},
{name = "Miika Alonen" email = "amiika@gmail.com"}
{name = "Miika Alonen", email = "amiika@gmail.com"}
]
license = {file = "LICENSE.txt"}
readme = "README.md"
@ -18,8 +18,8 @@ classifiers = [
dependencies = [
"lark>=1.1.5",
"rich>=12.6.0"
"pytest=>7.2.1"
"rich>=12.6.0",
"pytest=>7.2.1",
]
[project.urls]
@ -31,4 +31,3 @@ repository = "https://github.com/Bubobubobubobubo/ziffers-python"
line-length = 88
target_version = ['py310']
include = '\.pyi?$'
exclude = '''

View File

@ -1 +1 @@
import ziffers

Binary file not shown.

View File

@ -1,13 +0,0 @@
import pytest
from ziffers import *
@pytest.mark.parametrize(
"pattern",
[
"1 2 3",
"(1 (2 3))"
"q 2 q2 eq.4"
],
)
def test_list_arithmetic(pattern: str):
assert parse_expression(pattern).text == pattern

33
tests/test_parser.py Normal file
View File

@ -0,0 +1,33 @@
from ziffers import *
def test_can_parse():
expressions = [
"[1 [2 3]]",
"(1 (1,3) 1..3)",
"_^ q _qe^3 qww_4 _123 <1 2>",
"q _2 _ 3 ^ 343",
"2 qe2 e4",
"q 2 <3 343>",
"q (2 <3 343 (3 4)>)",
]
results = []
for expression in expressions:
try:
print(f"Parsing expression: {expression}")
result = parse_expression(expression)
results.append(True)
except Exception as e:
print(e)
results.append(False)
# Return true if all the results are true (succesfully parsed)
print(results)
assert all(results)
#print(ziffers_parser.parse("[1 [2 3]]"))
#print(ziffers_parser.parse("(1 (1,3) 1..3)"))
#print(ziffers_parser.parse("_^ q _qe^3 qww_4 _123 <1 2>"))
#print(ziffers_parser.parse("q _2 _ 3 ^ 343"))
#print(ziffers_parser.parse("2 qe2 e4").values)
#print(ziffers_parser.parse("q 2 <3 343>"))
#print(ziffers_parser.parse("q (2 <3 343 (3 4)>)"))