add vool hashes

This commit is contained in:
Torsten Ruger
2017-04-02 10:57:39 +03:00
parent d5af6dad42
commit 93f9d16209
5 changed files with 63 additions and 0 deletions

View File

@ -2,4 +2,5 @@ require_relative "helper"
require_relative "test_array_statement"
require_relative "test_basic_values"
require_relative "test_class_statement"
require_relative "test_hash_statement"
require_relative "test_method_statement"

View File

@ -0,0 +1,35 @@
require_relative "../helper"
module Vool
class HashArray < MiniTest::Test
def test_empty
lst = Compiler.compile( "{}")
assert_equal HashStatement , lst.class
end
def test_empty_length
lst = Compiler.compile( "{}")
assert_equal 0 , lst.length
end
def test_one
lst = Compiler.compile( "{ 1 => 2}")
assert_equal HashStatement , lst.class
end
def test_one_length
lst = Compiler.compile( "{ 1 => 2}")
assert_equal 1 , lst.length
end
def test_one_pair
lst = Compiler.compile( "{ 1 => 2}")
assert_equal 1 , lst.hash.keys.first.value
end
def test_two_length
lst = Compiler.compile( "{ sym: :works , 'string_too' => 2}")
assert_equal 2 , lst.length
end
def test_two_key_one
lst = Compiler.compile( "{ sym: :works , 'string_too' => 2}")
assert_equal :sym , lst.hash.keys.first.value
end
end
end