3e2f50850e37152508fd272c2b76b76dc5847f98
[platform/upstream/libzypp-bindings.git] / swig / ruby / tests / arch.rb
1 #
2 # Arch
3 #
4
5 $:.unshift File.expand_path(File.join(File.dirname(__FILE__),"..","..","..","build","swig","ruby"))
6
7 require 'test/unit'
8 require 'zypp'
9
10 class Zypp::Arch
11   include Comparable
12 end
13
14 class ArchTest < Test::Unit::TestCase
15   include Zypp
16   def test_arch
17     # define i386, a builtin
18     
19     a = Arch.new("i386")
20     assert a
21     assert_equal "i386", a.to_s
22     assert_equal true, a.is_builtin
23     
24     # i486 is 'bigger' than i386
25     
26     b = Arch.new("i486")
27     assert b
28     assert_equal "i486", b.to_s
29     assert b.is_builtin
30     if VERSION > 800
31       assert_equal a, b.base_arch
32     end
33     assert a < b
34     assert a.compatible_with?(b)
35
36     # A new, adventurous architecture
37     z = Arch.new("xyzzy")
38     assert z
39     assert_equal "xyzzy", z.to_s
40     assert_equal false, z.is_builtin
41     
42     # predefined archs
43     assert_equal Arch.new("noarch"), Arch.noarch 
44     assert_equal a, Arch.i386
45     assert_equal b, Arch.i486
46     assert_equal Arch.new("i586"), Arch.i586
47     assert_equal Arch.new("i686"), Arch.i686
48     assert_equal Arch.new("x86_64"), Arch.x86_64
49     assert_equal Arch.new("ia64"), Arch.ia64
50     assert_equal Arch.new("ppc"), Arch.ppc
51     assert_equal Arch.new("ppc64"), Arch.ppc64
52     assert_equal Arch.new("s390"), Arch.s390
53     assert_equal Arch.new("s390x"), Arch.s390x
54   end
55 end