test/tc_tuple.rb in prelude-0.0.1 vs test/tc_tuple.rb in prelude-0.0.2
- old
+ new
@@ -1,29 +1,29 @@
#--
-# $Id: tc_tuple.rb 1 2006-08-24 20:34:21Z prelude $
+# $Id: tc_tuple.rb 7 2006-09-06 17:03:26Z prelude $
#
#
# This file is part of the Prelude library that provides tools to
# enable Haskell style functional programming in Ruby.
#
# http://prelude.rubyforge.org
#
# Copyright (C) 2006 APP Design, Inc.
#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
+# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#++
class TestTuple < Test::Unit::TestCase
def setup
@@ -33,12 +33,50 @@
def teardown
# Nothing
end # teardown
def test_tuple
+ result = Tuple.new()
+ expect = [nil, nil]
+
+ assert_equal(expect, result)
+
+ result = Tuple.new(1)
+ expect = [1, nil]
+
+ assert_equal(expect, result)
+
+ result = Tuple.new(1, 2)
+ expect = [1, 2]
+
+ assert_equal(expect, result)
+
+ result = Tuple.new(1, 2, 3)
+ expect = [1, [2, 3]]
+
+ assert_equal(expect, result)
+
+ result = Tuple.new([1, 2])
+ expect = [1, [2]]
+
+ assert_equal(expect, result)
+
result = Tuple.new([1, 2, 3, 4, 5])
expect = [1, [2, 3, 4, 5]]
assert_equal(expect, result)
end
+ def test_fst
+ result = Tuple.new(1, 2, 3).fst
+ expect = 1
+
+ assert_equal(expect, result)
+ end
+
+ def test_snd
+ result = Tuple.new(1, 2, 3).snd
+ expect = [2, 3]
+
+ assert_equal(expect, result)
+ end
end # TestTuple