Kaynağa Gözat

More missing tests - array<>::size() and array<>::max_size()

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318256 91177308-0d34-0410-b5e6-96231b3b80d8
Marshall Clow 7 yıl önce
ebeveyn
işleme
4f009913df

+ 36 - 0
test/std/containers/sequences/array/empty.pass.cpp

@@ -0,0 +1,36 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <array>
+
+// class array
+
+// bool empty() const noexcept;
+
+#include <array>
+#include <cassert>
+
+#include "test_macros.h"
+#include "min_allocator.h"
+
+int main()
+{
+    {
+    typedef std::array<int, 2> C;
+    C c;
+    ASSERT_NOEXCEPT(c.empty());
+    assert(!c.empty());
+    }
+    {
+    typedef std::array<int, 0> C;
+    C c;
+    ASSERT_NOEXCEPT(c.empty());
+    assert( c.empty());
+    }
+}

+ 36 - 0
test/std/containers/sequences/array/max_size.pass.cpp

@@ -0,0 +1,36 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <array>
+
+// class array
+
+// bool max_size() const noexcept;
+
+#include <array>
+#include <cassert>
+
+#include "test_macros.h"
+#include "min_allocator.h"
+
+int main()
+{
+    {
+    typedef std::array<int, 2> C;
+    C c;
+    ASSERT_NOEXCEPT(c.max_size());
+    assert(c.max_size() == 2);
+    }
+    {
+    typedef std::array<int, 0> C;
+    C c;
+    ASSERT_NOEXCEPT(c.max_size());
+    assert(c.max_size() == 0);
+    }
+}