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