From 5a83710e371fe68a06e6e3876c6a2c8b820a8976 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Sat, 20 Dec 2014 01:40:03 +0000 Subject: Move test into test/std subdirectory. llvm-svn: 224658 --- .../complex.ops/stream_input.pass.cpp | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 libcxx/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp (limited to 'libcxx/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp') diff --git a/libcxx/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp b/libcxx/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp new file mode 100644 index 00000000000..24644e30779 --- /dev/null +++ b/libcxx/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp @@ -0,0 +1,99 @@ +//===----------------------------------------------------------------------===// +// +// 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. +// +//===----------------------------------------------------------------------===// + +// + +// template +// basic_istream& +// operator>>(basic_istream& is, complex& x); + +#include +#include +#include + +int main() +{ + { + std::istringstream is("5"); + std::complex c; + is >> c; + assert(c == std::complex(5, 0)); + assert(is.eof()); + } + { + std::istringstream is(" 5 "); + std::complex c; + is >> c; + assert(c == std::complex(5, 0)); + assert(is.good()); + } + { + std::istringstream is(" 5, "); + std::complex c; + is >> c; + assert(c == std::complex(5, 0)); + assert(is.good()); + } + { + std::istringstream is(" , 5, "); + std::complex c; + is >> c; + assert(c == std::complex(0, 0)); + assert(is.fail()); + } + { + std::istringstream is("5.5 "); + std::complex c; + is >> c; + assert(c == std::complex(5.5, 0)); + assert(is.good()); + } + { + std::istringstream is(" ( 5.5 ) "); + std::complex c; + is >> c; + assert(c == std::complex(5.5, 0)); + assert(is.good()); + } + { + std::istringstream is(" 5.5)"); + std::complex c; + is >> c; + assert(c == std::complex(5.5, 0)); + assert(is.good()); + } + { + std::istringstream is("(5.5 "); + std::complex c; + is >> c; + assert(c == std::complex(0, 0)); + assert(is.fail()); + } + { + std::istringstream is("(5.5,"); + std::complex c; + is >> c; + assert(c == std::complex(0, 0)); + assert(is.fail()); + } + { + std::istringstream is("( -5.5 , -6.5 )"); + std::complex c; + is >> c; + assert(c == std::complex(-5.5, -6.5)); + assert(!is.eof()); + } + { + std::istringstream is("(-5.5,-6.5)"); + std::complex c; + is >> c; + assert(c == std::complex(-5.5, -6.5)); + assert(!is.eof()); + } +} -- cgit v1.2.3