Boost C++ 库

...世界上最受推崇和设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

C++ Boost

Boost.MultiArray: 测试描述

以下是 Boost.Multi_Array (B.M) 中包含的测试用例的描述。

术语

以下列表旨在澄清以下描述中术语的使用

验收测试

以下测试练习 Boost.Multi_Array 的各种功能,以确保在运行时正常运行。
程序 描述
libs/multi_array/test/constructors.cpp 练习 B.M 主要组件的所有构造函数。
libs/multi_array/test/access.cpp 测试operator[]operator()在所有 B.M 数组类型上。
libs/multi_array/test/compare.cpp 测试 B.M 主要组件的所有比较运算符。
libs/multi_array/test/iterators.cpp 测试所有 B.M 数组类型的所有迭代器遍历和访问功能。
libs/multi_array/test/slice.cpp 测试所有 B.M 数组类型的子视图生成的所有变体。
libs/multi_array/test/assign.cpp 测试operator=()在各种 B.M 数组类型上。
libs/multi_array/test/assign_to_array.cpp 确保multi_array可以从任何其他数组类型构造。
libs/multi_array/test/index_bases.cpp 测试 B.M 主要组件的重新索引功能。
libs/multi_array/test/storage_order_convert.cpp 测试存储顺序数据类型之间的转换。
libs/multi_array/test/storage_order.cpp 测试 B.M 主要组件的 storage_order 的变体。
libs/multi_array/test/reshape.cpp 测试 B.M 主要组件的重塑功能。
libs/multi_array/test/range1.cpp 测试使用以下项指定索引范围的各种语法array::index_range.
libs/multi_array/test/idxgen1.cpp 测试array::index_gen对象。
libs/multi_array/test/stl_interaction.cpp 测试数组类型和 STL 容器之间的交互。
libs/multi_array/test/resize.cpp 测试multi_array类的调整大小功能。
libs/multi_array/test/concept_checks.cpp 确保所有数组类型都满足定义的概念。
libs/multi_array/test/assert.cpp 确保库用户可以自定义库中 BOOST_ASSERT 的使用。
libs/multi_array/test/allocators.cpp 测试对自定义分配器的支持。
libs/multi_array/test/generative_tests.hpp 一个测试工具,用于简化对所有数组类型执行的测试操作。 由 slice.cpp、iterators.cpp 和 access.cpp 使用。

编译失败测试

以下测试检查以确保库不接受的各种构造无法编译。 每个测试仅检查一个错误,以便更容易地确保编译失败的原因。

程序 描述
libs/multi_array/test/fail_cbracket.cpp
libs/multi_array/test/fail_ref_cbracket.cpp
operator[]在常量数组上不得修改元素。
libs/multi_array/test/fail_cdata.cpp
libs/multi_array/test/fail_ref_cdata.cpp
array::data() const必须返回指向常量数据的指针。
libs/multi_array/test/fail_citerator.cpp
libs/multi_array/test/fail_ref_citerator.cpp
const_iterator不得转换为iterator.
libs/multi_array/test/fail_cparen.cpp
libs/multi_array/test/fail_ref_cparen.cpp
operator()在常量数组上不得修改元素。
libs/multi_array/test/fail_criterator.cpp
libs/multi_array/test/fail_ref_criterator.cpp
const_reverse_iterator不得转换为reverse_iterator.
libs/multi_array/test/fail_csubarray.cpp
libs/multi_array/test/fail_ref_csubarray.cpp
const_subarray不得转换为subarray.
libs/multi_array/test/fail_csubarray2.cpp
libs/multi_array/test/fail_ref_csubarray2.cpp
array::operator[] const不得转换为subarray.
libs/multi_array/test/fail_csubarray3.cpp
libs/multi_array/test/fail_ref_csubarray3.cpp
const_subarray进入数组不得修改元素。
libs/multi_array/test/fail_cview.cpp
libs/multi_array/test/fail_ref_cview.cpp
const_array_view数组的不得修改元素。
libs/multi_array/test/fail_cview2.cpp
libs/multi_array/test/fail_ref_cview2.cpp
array::operator[] const不得转换为array_view.
libs/multi_array/test/fail_cview3.cpp
libs/multi_array/test/fail_ref_cview3.cpp
const_array_view数组的不得修改元素。

版权所有 © 2001 Ronald Garcia, 印第安纳大学 (garcia@cs.indiana.edu)
Jeremy Siek, 印第安纳大学 (jsiek@cs.indiana.edu)
Andrew Lumsdaine, 印第安纳大学 (lums@cs.indiana.edu)

Ronald Garcia
最后修改时间:2001 年 10 月 31 日 19:46:44 EST