Exemplo n.º 1
0
 def test_day(self):
     p = Parser(debug=True)
     ret = p.parse('DAY("2020-10-12 10:04:11")')
     self.assertEqual(ret['result'], 12)
     self.assertEqual(ret['error'], None)
     ret = p.parse('DAY(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 2
0
 def test_min(self):
     p = Parser(debug=True)
     ret = p.parse('MIN({1;3};0)')
     self.assertEqual(ret['result'], 0)
     self.assertEqual(ret['error'], None)
     ret = p.parse('MIN({1;2;3})')
     self.assertEqual(ret['result'], 1)
     self.assertEqual(ret['error'], None)
Exemplo n.º 3
0
 def test_averagif(self):
     p = Parser(debug=True)
     ret = p.parse('AVERAGEIF({1;2;3;4};">2")')
     self.assertEqual(ret['result'], 3.5)
     self.assertEqual(ret['error'], None)
     ret = p.parse('AVERAGEIF({1;2;3;4};">2";{4;3;2;1})')
     self.assertEqual(ret['result'], 1.5)
     self.assertEqual(ret['error'], None)
Exemplo n.º 4
0
 def test_asinh(self):
     p = Parser(debug=True)
     ret = p.parse('ASINH(-2.5)')
     self.assertTrue(['result'], -1.647231146)
     self.assertEqual(ret['error'], None)
     ret = p.parse('ASINH(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 5
0
 def test_iferror(self):
     p = Parser(debug=True)
     ret = p.parse('IFERROR(1/0,1)')
     self.assertEqual(ret['result'], 1)
     self.assertEqual(ret['error'], None)
     ret = p.parse('IFERROR("notme",1)')
     self.assertEqual(ret['result'], "notme")
     self.assertEqual(ret['error'], None)
Exemplo n.º 6
0
 def test_acoth(self):
     p = Parser(debug=True)
     ret = p.parse('ACOTH(6)')
     self.assertTrue(str(ret['result']).startswith('0.168'))
     self.assertEqual(ret['error'], None)
     ret = p.parse('ACOTH(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 7
0
 def test_sinh(self):
     p = Parser(debug=True)
     ret = p.parse('2.868*SINH(0.0342*1.03)')
     self.assertTrue(['result'], 0.1010491)
     self.assertEqual(ret['error'], None)
     ret = p.parse('SINH(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 8
0
 def test_tanh(self):
     p = Parser(debug=True)
     ret = p.parse('TANH(0.5)')
     self.assertTrue(['result'], 0.462117)
     self.assertEqual(ret['error'], None)
     ret = p.parse('TANH(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 9
0
 def test_atan(self):
     p = Parser(debug=True)
     ret = p.parse('ATAN(1)*180/PI()')
     self.assertTrue(['result'], 1)
     self.assertEqual(ret['error'], None)
     ret = p.parse('ATAN(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 10
0
 def test_date(self):
     p = Parser(debug=True)
     ret = p.parse('DATE(2020;10;12)')
     self.assertEqual(ret['result'], datetime.datetime(2020, 10, 12))
     self.assertEqual(ret['error'], None)
     ret = p.parse('DATE(95;10;12)')
     self.assertEqual(ret['result'], datetime.datetime(1995, 10, 12))
     self.assertEqual(ret['error'], None)
Exemplo n.º 11
0
 def test_cosh(self):
     p = Parser(debug=True)
     ret = p.parse('COSH(4)')
     self.assertTrue(['result'], 27.308233)
     self.assertEqual(ret['error'], None)
     ret = p.parse('COSH(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 12
0
 def test_second(self):
     p = Parser(debug=True)
     ret = p.parse('SECOND("10:04:11")')
     self.assertEqual(ret['result'], 11)
     self.assertEqual(ret['error'], None)
     ret = p.parse('SECOND(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 13
0
 def test_minute(self):
     p = Parser(debug=True)
     ret = p.parse('MINUTE("10:04:11")')
     self.assertEqual(ret['result'], 4)
     self.assertEqual(ret['error'], None)
     ret = p.parse('MINUTE(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 14
0
 def test_hour(self):
     p = Parser(debug=True)
     ret = p.parse('HOUR("10:04:11")')
     self.assertEqual(ret['result'], 10)
     self.assertEqual(ret['error'], None)
     ret = p.parse('HOUR(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 15
0
 def test_radians(self):
     p = Parser(debug=True)
     ret = p.parse('RADIANS(270)')
     self.assertTrue(str(ret['result']).startswith('4.7123'))
     self.assertEqual(ret['error'], None)
     ret = p.parse('RADIANS(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 16
0
 def test_atanh(self):
     p = Parser(debug=True)
     ret = p.parse('ATANH(0.76159416)')
     self.assertTrue(['result'], 1.00000001)
     self.assertEqual(ret['error'], None)
     ret = p.parse('ATANH(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 17
0
 def test_degrees(self):
     p = Parser(debug=True)
     ret = p.parse('DEGREES(PI())')
     self.assertEqual(ret['result'], 180)
     self.assertEqual(ret['error'], None)
     ret = p.parse('DEGREES(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 18
0
 def test_sqrt(self):
     p = Parser(debug=True)
     ret = p.parse('SQRT(16)')
     self.assertTrue(['result'], 4)
     self.assertEqual(ret['error'], None)
     ret = p.parse('SQRT(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 19
0
 def test_sin(self):
     p = Parser(debug=True)
     ret = p.parse('SIN(PI()/2)')
     self.assertTrue(['result'], 1)
     self.assertEqual(ret['error'], None)
     ret = p.parse('SIN(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 20
0
 def test_round(self):
     p = Parser(debug=True)
     ret = p.parse('ROUND(23.7825, 2)')
     self.assertEqual(ret['result'], 23.78)
     self.assertEqual(ret['error'], None)
     ret = p.parse('ROUND(23.789, 2)')
     self.assertEqual(ret['result'], 23.79)
     self.assertEqual(ret['error'], None)
Exemplo n.º 21
0
 def test_asin(self):
     p = Parser(debug=True)
     ret = p.parse('ASIN(-0.5)')
     self.assertTrue(['result'], -0.523598776)
     self.assertEqual(ret['error'], None)
     ret = p.parse('ASIN(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 22
0
 def test_ln(self):
     p = Parser(debug=True)
     ret = p.parse('LN(EXP(1))')
     self.assertEqual(ret['result'], 1)
     self.assertEqual(ret['error'], None)
     ret = p.parse('LN(EXP(3))')
     self.assertEqual(ret['result'], 3)
     self.assertEqual(ret['error'], None)
Exemplo n.º 23
0
 def test_cos(self):
     p = Parser(debug=True)
     ret = p.parse('COS(0)')
     self.assertTrue(['result'], 1)
     self.assertEqual(ret['error'], None)
     ret = p.parse('COS(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')
Exemplo n.º 24
0
 def test_log(self):
     p = Parser(debug=True)
     ret = p.parse('LOG(10)')
     self.assertEqual(ret['result'], 1)
     self.assertEqual(ret['error'], None)
     ret = p.parse('LOG(8, 2)')
     self.assertEqual(ret['result'], 3)
     self.assertEqual(ret['error'], None)
Exemplo n.º 25
0
 def test_not(self):
     p = Parser(debug=True)
     ret = p.parse('NOT(TRUE())')
     self.assertEqual(ret['result'], False)
     self.assertEqual(ret['error'], None)
     ret = p.parse('NOT(FALSE())')
     self.assertEqual(ret['result'], True)
     self.assertEqual(ret['error'], None)
Exemplo n.º 26
0
 def test_log10(self):
     p = Parser(debug=True)
     ret = p.parse('LOG10(10)')
     self.assertEqual(ret['result'], 1)
     self.assertEqual(ret['error'], None)
     ret = p.parse('LOG10(100000)')
     self.assertEqual(ret['result'], 5)
     self.assertEqual(ret['error'], None)
Exemplo n.º 27
0
 def test_averagea(self):
     p = Parser(debug=True)
     ret = p.parse('AVERAGEA(1;"2")')
     self.assertEqual(ret['result'], 1.5)
     self.assertEqual(ret['error'], None)
     ret = p.parse('AVERAGEA(1;"2";TRUE;TRUE)')
     self.assertEqual(ret['result'], 1.25)
     self.assertEqual(ret['error'], None)
Exemplo n.º 28
0
 def test_sumif(self):
     p = Parser(debug=True)
     ret = p.parse('SUMIF({1;4;5}, ">0")')
     self.assertEqual(ret['result'], 10)
     self.assertEqual(ret['error'], None)
     ret = p.parse('SUMIF({1;4;5}, ">1")')
     self.assertEqual(ret['result'], 9)
     self.assertEqual(ret['error'], None)
Exemplo n.º 29
0
 def test_max(self):
     p = Parser(debug=True)
     ret = p.parse('MAX({1;3};4)')
     self.assertEqual(ret['result'], 4)
     self.assertEqual(ret['error'], None)
     ret = p.parse('MAX({1;2;3})')
     self.assertEqual(ret['result'], 3)
     self.assertEqual(ret['error'], None)
Exemplo n.º 30
0
 def test_month(self):
     p = Parser(debug=True)
     ret = p.parse('MONTH("2020-10-12 10:04:11")')
     self.assertEqual(ret['result'], 10)
     self.assertEqual(ret['error'], None)
     ret = p.parse('MONTH(1/0)')
     self.assertEqual(ret['result'], None)
     self.assertEqual(ret['error'], '#DIV/0!')