Add tests for parsing of neg numbers

This commit is contained in:
Jason Turner 2017-01-31 15:30:38 -08:00
parent 0a18f0a809
commit e7a6b2306c
2 changed files with 165 additions and 94 deletions

View File

@ -8,16 +8,17 @@
template<typename T>
bool test_literal(T val, const std::string &str)
{
std::cout << "Comparing : " << val;
std::cout << '(' << str << ") Comparing : C++ '" << val;
chaiscript::ChaiScript_Basic chai(create_chaiscript_stdlib(),create_chaiscript_parser());
T val2 = chai.eval<T>(str);
std::cout << " " << val2 << '\n';
std::cout << "' chai '" << val2 << "'\n";
return val == val2;
}
int main()
{
if( TEST_LITERAL(0xF)
if(
TEST_LITERAL(0xF)
&& TEST_LITERAL(0xFF)
&& TEST_LITERAL(0xFFF)
&& TEST_LITERAL(0xFFFF)
@ -111,6 +112,68 @@ int main()
&& test_literal(0x7FFFFFFFFFFFFF, "0b1111111111111111111111111111111111111111111111111111111")
&& test_literal(0x7FFFFFFFFFFFFFF, "0b11111111111111111111111111111111111111111111111111111111111")
&& test_literal(0x7FFFFFFFFFFFFFFF, "0b111111111111111111111111111111111111111111111111111111111111111")
&& TEST_LITERAL(-0xF)
&& TEST_LITERAL(-0xFF)
&& TEST_LITERAL(-0xFFF)
&& TEST_LITERAL(-0xFFFF)
&& TEST_LITERAL(-0xFFFFF)
&& TEST_LITERAL(-0xFFFFFF)
&& TEST_LITERAL(-0xFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFFFFFFFF)
&& TEST_LITERAL(-0xFFFFFFFFFFFFFFFF)
&& TEST_LITERAL(-01)
&& TEST_LITERAL(-017)
&& TEST_LITERAL(-0177)
&& TEST_LITERAL(-01777)
&& TEST_LITERAL(-017777)
&& TEST_LITERAL(-0177777)
&& TEST_LITERAL(-01777777)
&& TEST_LITERAL(-017777777)
&& TEST_LITERAL(-0177777777)
&& TEST_LITERAL(-01777777777)
&& TEST_LITERAL(-017777777777)
&& TEST_LITERAL(-0177777777777)
&& TEST_LITERAL(-01777777777777)
&& TEST_LITERAL(-017777777777777)
&& TEST_LITERAL(-0177777777777777)
&& TEST_LITERAL(-01777777777777777)
&& TEST_LITERAL(-017777777777777777)
&& TEST_LITERAL(-0177777777777777777)
&& TEST_LITERAL(-01777777777777777777)
&& TEST_LITERAL(-017777777777777777777)
&& TEST_LITERAL(-0177777777777777777777)
&& TEST_LITERAL(-01777777777777777777777)
&& TEST_LITERAL(-1)
&& TEST_LITERAL(-17)
&& TEST_LITERAL(-177)
&& TEST_LITERAL(-1777)
&& TEST_LITERAL(-17777)
&& TEST_LITERAL(-177777)
&& TEST_LITERAL(-1777777)
&& TEST_LITERAL(-17777777)
&& TEST_LITERAL(-177777777)
&& TEST_LITERAL(-1777777777)
&& TEST_LITERAL(-17777777777)
&& TEST_LITERAL(-177777777777)
&& TEST_LITERAL(-1777777777777)
&& TEST_LITERAL(-17777777777777)
&& TEST_LITERAL(-177777777777777)
&& TEST_LITERAL(-1777777777777777)
&& TEST_LITERAL(-17777777777777777)
&& TEST_LITERAL(-177777777777777777)
&& TEST_LITERAL(-1777777777777777777)
)
{
return EXIT_SUCCESS;

View File

@ -0,0 +1,8 @@
def numFunc(x)
{
return x + 10;
}
assert_true(-5.numFunc() == 5);