summaryrefslogtreecommitdiff
path: root/test/dl/test_c_struct_entry.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/dl/test_c_struct_entry.rb')
-rw-r--r--test/dl/test_c_struct_entry.rb55
1 files changed, 0 insertions, 55 deletions
diff --git a/test/dl/test_c_struct_entry.rb b/test/dl/test_c_struct_entry.rb
deleted file mode 100644
index b2f1f94..0000000
--- a/test/dl/test_c_struct_entry.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-# -*- coding: us-ascii -*-
-require_relative 'test_base'
-
-EnvUtil.suppress_warning {require 'dl/struct'}
-
-module DL
- class TestCStructEntity < TestBase
- def test_class_size
- types = [TYPE_DOUBLE, TYPE_CHAR]
-
- size = CStructEntity.size types
-
- alignments = types.map { |type| PackInfo::ALIGN_MAP[type] }
-
- expected = PackInfo.align 0, alignments[0]
- expected += PackInfo::SIZE_MAP[TYPE_DOUBLE]
-
- expected = PackInfo.align expected, alignments[1]
- expected += PackInfo::SIZE_MAP[TYPE_CHAR]
-
- expected = PackInfo.align expected, alignments.max
-
- assert_equal expected, size
- end
-
- def test_class_size_with_count
- size = CStructEntity.size([[TYPE_DOUBLE, 2], [TYPE_CHAR, 20]])
-
- types = [TYPE_DOUBLE, TYPE_CHAR]
- alignments = types.map { |type| PackInfo::ALIGN_MAP[type] }
-
- expected = PackInfo.align 0, alignments[0]
- expected += PackInfo::SIZE_MAP[TYPE_DOUBLE] * 2
-
- expected = PackInfo.align expected, alignments[1]
- expected += PackInfo::SIZE_MAP[TYPE_CHAR] * 20
-
- expected = PackInfo.align expected, alignments.max
-
- assert_equal expected, size
- end
-
- def test_set_ctypes
- union = CStructEntity.malloc [TYPE_INT, TYPE_LONG]
- union.assign_names %w[int long]
-
- # this test is roundabout because the stored ctypes are not accessible
- union['long'] = 1
- union['int'] = 2
-
- assert_equal 1, union['long']
- assert_equal 2, union['int']
- end
- end
-end