Mapytex/mapytex/calculus/test/test_random_expression.py

109 lines
2.6 KiB
Python
Raw Normal View History

2014-02-28 13:11:33 +00:00
#!/usr/bin/env python
# encoding: utf-8
2017-04-17 13:48:52 +00:00
from mapytex.calculus.random_expression import RdExpression
2014-02-28 13:11:33 +00:00
def test_only_form():
form = "{a} + 2"
rdExp = RdExpression(form)
2014-02-28 13:11:33 +00:00
assert rdExp._letters == {'a'}
assert rdExp._2replaced == {'a'}
2014-02-28 13:11:33 +00:00
rdExp()
2016-02-13 03:29:26 +00:00
assert set(rdExp._gene_varia.keys()) == {'a'}
assert set(rdExp._gene_2replaced.keys()) == {'a'}
2014-02-28 13:11:33 +00:00
2016-02-13 03:49:37 +00:00
def test_form_with_underscores():
form = "_ + 2*_"
rdExp = RdExpression(form)
assert rdExp._letters == {'A', 'B'}
assert rdExp._2replaced == {'A', 'B'}
rdExp()
2016-02-13 03:29:26 +00:00
assert set(rdExp._gene_varia.keys()) == {'A', 'B'}
assert set(rdExp._gene_2replaced.keys()) == {'A', 'B'}
2016-02-13 03:49:37 +00:00
def test_only_form_calc():
form = "{a+b} + 2"
rdExp = RdExpression(form)
2014-02-28 13:11:33 +00:00
assert rdExp._letters, {'a' == 'b'}
assert rdExp._2replaced == {'a+b'}
2014-02-28 13:11:33 +00:00
rdExp()
2016-02-13 03:29:26 +00:00
assert set(rdExp._gene_varia.keys()), {'a' == 'b'}
assert set(rdExp._gene_2replaced.keys()) == {'a+b'}
2014-02-28 13:11:33 +00:00
2016-02-13 03:49:37 +00:00
def test_only_form_cond():
form = "{a} + 2"
cond = ["{a} == 3"]
rdExp = RdExpression(form, cond)
2014-02-28 13:11:33 +00:00
assert rdExp._letters == {'a'}
assert rdExp._2replaced == {'a'}
2014-02-28 13:11:33 +00:00
rdExp()
2016-02-13 03:29:26 +00:00
assert set(rdExp._gene_varia.keys()) == {'a'}
assert set(rdExp._gene_2replaced.keys()) == {'a'}
2014-02-28 13:11:33 +00:00
assert rdExp._gene_varia['a'] == 3
2014-02-28 13:11:33 +00:00
2016-02-13 03:49:37 +00:00
def test_only_form_conds():
form = "{a} + 2"
cond = ["{a} in list(range(5))", "{a} % 2 == 1"]
rdExp = RdExpression(form, cond)
2014-02-28 13:11:33 +00:00
assert rdExp._letters == {'a'}
assert rdExp._2replaced == {'a'}
2014-02-28 13:11:33 +00:00
rdExp()
2016-02-13 03:29:26 +00:00
assert set(rdExp._gene_varia.keys()) == {'a'}
assert set(rdExp._gene_2replaced.keys()) == {'a'}
2014-02-28 13:11:33 +00:00
assert rdExp._gene_varia['a'] in list(range(5))
assert rdExp._gene_varia['a'] % 2 == 1
2014-02-28 13:11:33 +00:00
2016-02-13 03:49:37 +00:00
def test_only_form_calc_cond():
form = "{a*3} * {b}"
cond = ["{a} == 3"]
rdExp = RdExpression(form, cond)
2014-02-28 13:11:33 +00:00
assert rdExp._letters, {'a' == 'b'}
assert rdExp._2replaced, {'a', 'b' == 'a*3'}
2014-02-28 13:11:33 +00:00
rdExp()
2016-02-13 03:29:26 +00:00
assert set(rdExp._gene_varia.keys()), {'a' == 'b'}
assert set(rdExp._gene_2replaced.keys()), {'a', 'b' == 'a*3'}
2014-02-28 13:11:33 +00:00
assert rdExp._gene_varia['a'] == 3
2014-02-28 13:11:33 +00:00
2016-02-13 03:49:37 +00:00
def test_only_form_calc_cond_calc():
form = "{a*3} * {b}"
cond = ["{a+b} == 3"]
rdExp = RdExpression(form, cond)
2014-02-28 13:11:33 +00:00
assert rdExp._letters, {'a' == 'b'}
assert rdExp._2replaced, {'b', 'a*3' == 'a+b'}
2014-02-28 13:11:33 +00:00
rdExp()
2016-02-13 03:29:26 +00:00
assert set(rdExp._gene_varia.keys()), {'a' == 'b'}
assert set(rdExp._gene_2replaced.keys()), {'b', 'a*3' == 'a+b'}
2014-02-28 13:11:33 +00:00
assert (rdExp._gene_varia['a'] + rdExp._gene_varia['b']) == 3
2014-02-28 13:11:33 +00:00
# -----------------------------
# Reglages pour 'vim'
# vim:set autoindent expandtab tabstop=4 shiftwidth=4:
2016-02-13 03:29:26 +00:00
# cursor: 16 del