diff options
Diffstat (limited to 'test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp')
-rw-r--r-- | test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp b/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp new file mode 100644 index 000000000000..2005d303fb3b --- /dev/null +++ b/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp @@ -0,0 +1,78 @@ +//===----------------------------------------------------------------------===// +// +// 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. +// +//===----------------------------------------------------------------------===// + +// <iterator> + +// istreambuf_iterator + +// bool equal(istreambuf_iterator<charT,traits>& b) const; + +#include <iterator> +#include <sstream> +#include <cassert> + +int main() +{ + { + std::istringstream inf1("abc"); + std::istringstream inf2("def"); + std::istreambuf_iterator<char> i1(inf1); + std::istreambuf_iterator<char> i2(inf2); + std::istreambuf_iterator<char> i3; + std::istreambuf_iterator<char> i4; + + assert( i1.equal(i1)); + assert( i1.equal(i2)); + assert(!i1.equal(i3)); + assert(!i1.equal(i4)); + + assert( i2.equal(i1)); + assert( i2.equal(i2)); + assert(!i2.equal(i3)); + assert(!i2.equal(i4)); + + assert(!i3.equal(i1)); + assert(!i3.equal(i2)); + assert( i3.equal(i3)); + assert( i3.equal(i4)); + + assert(!i4.equal(i1)); + assert(!i4.equal(i2)); + assert( i4.equal(i3)); + assert( i4.equal(i4)); + } + { + std::wistringstream inf1(L"abc"); + std::wistringstream inf2(L"def"); + std::istreambuf_iterator<wchar_t> i1(inf1); + std::istreambuf_iterator<wchar_t> i2(inf2); + std::istreambuf_iterator<wchar_t> i3; + std::istreambuf_iterator<wchar_t> i4; + + assert( i1.equal(i1)); + assert( i1.equal(i2)); + assert(!i1.equal(i3)); + assert(!i1.equal(i4)); + + assert( i2.equal(i1)); + assert( i2.equal(i2)); + assert(!i2.equal(i3)); + assert(!i2.equal(i4)); + + assert(!i3.equal(i1)); + assert(!i3.equal(i2)); + assert( i3.equal(i3)); + assert( i3.equal(i4)); + + assert(!i4.equal(i1)); + assert(!i4.equal(i2)); + assert( i4.equal(i3)); + assert( i4.equal(i4)); + } +} |