Add more integer literal tests / fix neg test

Addresses #322
This commit is contained in:
Jason Turner 2017-02-01 07:02:18 -08:00
parent c82c9ccb6e
commit 3e04210027
3 changed files with 59 additions and 2 deletions

View File

@ -77,7 +77,7 @@ namespace chaiscript
"Array_Call", "Dot_Access",
"Lambda", "Block", "Scopeless_Block", "Def", "While", "If", "For", "Ranged_For", "Inline_Array", "Inline_Map", "Return", "File", "Prefix", "Break", "Continue", "Map_Pair", "Value_Range",
"Inline_Range", "Try", "Catch", "Finally", "Method", "Attr_Decl",
"Logical_And", "Logical_Or", "Reference", "Switch", "Case", "Default", "Ternary Condition", "Noop", "Class", "Binary", "Arg", "Global_Decl", "Constant", "Compiled"};
"Logical_And", "Logical_Or", "Reference", "Switch", "Case", "Default", "Noop", "Class", "Binary", "Arg", "Global_Decl", "Constant", "Compiled"};
return ast_node_types[static_cast<int>(ast_node_type)];
}

View File

@ -175,6 +175,7 @@ int main()
&& TEST_LITERAL(-177777777777777777)
&& TEST_LITERAL(-1777777777777777777)
// Test 8/16/24/32 bit boundaries for various types
&& TEST_LITERAL(255)
&& TEST_LITERAL(65535)
@ -185,6 +186,58 @@ int main()
&& TEST_LITERAL(-65535)
&& TEST_LITERAL(-16777215)
&& TEST_LITERAL(-4294967295)
&& TEST_LITERAL(255u)
&& TEST_LITERAL(65535u)
&& TEST_LITERAL(16777215u)
&& TEST_LITERAL(4294967295u)
&& TEST_LITERAL(-255u)
&& TEST_LITERAL(-65535u)
&& TEST_LITERAL(-16777215u)
&& TEST_LITERAL(-4294967295u)
&& TEST_LITERAL(255l)
&& TEST_LITERAL(65535l)
&& TEST_LITERAL(16777215l)
&& TEST_LITERAL(4294967295l)
&& TEST_LITERAL(-255l)
&& TEST_LITERAL(-65535l)
&& TEST_LITERAL(-16777215l)
&& TEST_LITERAL(-4294967295l)
&& TEST_LITERAL(255ul)
&& TEST_LITERAL(65535ul)
&& TEST_LITERAL(16777215ul)
&& TEST_LITERAL(4294967295ul)
&& TEST_LITERAL(-255ul)
&& TEST_LITERAL(-65535ul)
&& TEST_LITERAL(-16777215ul)
&& TEST_LITERAL(-4294967295ul)
&& TEST_LITERAL(255ull)
&& TEST_LITERAL(65535ull)
&& TEST_LITERAL(16777215ull)
&& TEST_LITERAL(4294967295ull)
&& TEST_LITERAL(-255ull)
&& TEST_LITERAL(-65535ull)
&& TEST_LITERAL(-16777215ull)
&& TEST_LITERAL(-4294967295ull)
&& TEST_LITERAL(255ll)
&& TEST_LITERAL(65535ll)
&& TEST_LITERAL(16777215ll)
&& TEST_LITERAL(4294967295ll)
&& TEST_LITERAL(-255ll)
&& TEST_LITERAL(-65535ll)
&& TEST_LITERAL(-16777215ll)
&& TEST_LITERAL(-4294967295ll)
)
{
return EXIT_SUCCESS;

View File

@ -4,5 +4,9 @@ def numFunc(x)
}
assert_true(-5.numFunc() == 5);
// Note that unary prefix `-` has lower precedence than `.`
// this is why these values are correct, even if counterintuitive
assert_true(-5.numFunc() == -15);
assert_true((-5).numFunc() == 5);