From 8b0dfd465fd1fd366dc54e04f99ed8712ccf4d85 Mon Sep 17 00:00:00 2001 From: Baptiste Wicht Date: Tue, 27 Sep 2016 15:59:14 +0200 Subject: [PATCH] Simple test for destructors --- tstl/test_suite/vector.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tstl/test_suite/vector.cpp b/tstl/test_suite/vector.cpp index 6aeb0124..052af80a 100644 --- a/tstl/test_suite/vector.cpp +++ b/tstl/test_suite/vector.cpp @@ -141,6 +141,28 @@ void test_reverse_iterator(){ check(it == end, "Invalid reverse iterator"); } +struct kiss { + int* ref; + kiss() {} // for vector + kiss(int* ref) : ref(ref) {} + ~kiss(){ + ++(*ref); + } +}; + +void test_destructor() { + int counter = 0; + + { + std::vector vec(3); + vec.emplace_back(&counter); + vec.emplace_back(&counter); + vec.emplace_back(&counter); + } + + check(counter == 3, "Invalid destructors"); +} + } //end of anonymous namespace void vector_tests(){ @@ -151,4 +173,5 @@ void vector_tests(){ test_erase_remove_if(); test_push_front(); test_reverse_iterator(); + test_destructor(); }