From 7ae3cf206c53b8a7f21e8911efee4c195b8f89fd Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 11 Oct 2022 00:46:24 +0200 Subject: [PATCH] Remove wxVector unit test Testing this class doesn't make much sense any more as it's just a typedef for std::vector and we can presumably rely on the standard class working as expected. --- build/cmake/tests/base/CMakeLists.txt | 1 - tests/Makefile.in | 4 - tests/descrip.mms | 4 - tests/makefile.gcc | 4 - tests/makefile.vc | 4 - tests/test.bkl | 1 - tests/test.vcxproj | 1 - tests/test.vcxproj.filters | 3 - tests/vectors/vectors.cpp | 378 -------------------------- 9 files changed, 400 deletions(-) delete mode 100644 tests/vectors/vectors.cpp diff --git a/build/cmake/tests/base/CMakeLists.txt b/build/cmake/tests/base/CMakeLists.txt index 51db450bfd..71ca50e243 100644 --- a/build/cmake/tests/base/CMakeLists.txt +++ b/build/cmake/tests/base/CMakeLists.txt @@ -89,7 +89,6 @@ set(TEST_SRC uris/ftp.cpp uris/uris.cpp uris/url.cpp - vectors/vectors.cpp weakref/evtconnection.cpp weakref/weakref.cpp xlocale/xlocale.cpp diff --git a/tests/Makefile.in b/tests/Makefile.in index 476d8e77f5..1f49eaea32 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -142,7 +142,6 @@ TEST_OBJECTS = \ test_ftp.o \ test_uris.o \ test_url.o \ - test_vectors.o \ test_evtconnection.o \ test_weakref.o \ test_xlocale.o \ @@ -857,9 +856,6 @@ test_uris.o: $(srcdir)/uris/uris.cpp $(TEST_ODEP) test_url.o: $(srcdir)/uris/url.cpp $(TEST_ODEP) $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/uris/url.cpp -test_vectors.o: $(srcdir)/vectors/vectors.cpp $(TEST_ODEP) - $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/vectors/vectors.cpp - test_evtconnection.o: $(srcdir)/weakref/evtconnection.cpp $(TEST_ODEP) $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/weakref/evtconnection.cpp diff --git a/tests/descrip.mms b/tests/descrip.mms index c8d3e1f683..eff0c39924 100644 --- a/tests/descrip.mms +++ b/tests/descrip.mms @@ -130,7 +130,6 @@ TEST_OBJECTS1=test_ipc.obj,\ test_ftp.obj,\ test_uris.obj,\ test_url.obj,\ - test_vectors.obj,\ test_evtconnection.obj,\ test_weakref.obj,\ test_xlocale.obj,\ @@ -480,9 +479,6 @@ test_uris.obj : [.uris]uris.cpp test_url.obj : [.uris]url.cpp $(CXXC) /object=[]$@ $(TEST_CXXFLAGS) [.uris]url.cpp -test_vectors.obj : [.vectors]vectors.cpp - $(CXXC) /object=[]$@ $(TEST_CXXFLAGS) [.vectors]vectors.cpp - test_evtconnection.obj : [.weakref]evtconnection.cpp $(CXXC) /object=[]$@ $(TEST_CXXFLAGS) [.weakref]evtconnection.cpp diff --git a/tests/makefile.gcc b/tests/makefile.gcc index f040da0d67..a8e5195352 100644 --- a/tests/makefile.gcc +++ b/tests/makefile.gcc @@ -112,7 +112,6 @@ TEST_OBJECTS = \ $(OBJS)\test_ftp.o \ $(OBJS)\test_uris.o \ $(OBJS)\test_url.o \ - $(OBJS)\test_vectors.o \ $(OBJS)\test_evtconnection.o \ $(OBJS)\test_weakref.o \ $(OBJS)\test_xlocale.o \ @@ -818,9 +817,6 @@ $(OBJS)\test_uris.o: ./uris/uris.cpp $(OBJS)\test_url.o: ./uris/url.cpp $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\test_vectors.o: ./vectors/vectors.cpp - $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $< - $(OBJS)\test_evtconnection.o: ./weakref/evtconnection.cpp $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $< diff --git a/tests/makefile.vc b/tests/makefile.vc index bb6370e0bf..4a72c68bd2 100644 --- a/tests/makefile.vc +++ b/tests/makefile.vc @@ -115,7 +115,6 @@ TEST_OBJECTS = \ $(OBJS)\test_ftp.obj \ $(OBJS)\test_uris.obj \ $(OBJS)\test_url.obj \ - $(OBJS)\test_vectors.obj \ $(OBJS)\test_evtconnection.obj \ $(OBJS)\test_weakref.obj \ $(OBJS)\test_xlocale.obj \ @@ -1116,9 +1115,6 @@ $(OBJS)\test_uris.obj: .\uris\uris.cpp $(OBJS)\test_url.obj: .\uris\url.cpp $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\uris\url.cpp -$(OBJS)\test_vectors.obj: .\vectors\vectors.cpp - $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\vectors\vectors.cpp - $(OBJS)\test_evtconnection.obj: .\weakref\evtconnection.cpp $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\weakref\evtconnection.cpp diff --git a/tests/test.bkl b/tests/test.bkl index bbcbaaf9f0..33025b8588 100644 --- a/tests/test.bkl +++ b/tests/test.bkl @@ -108,7 +108,6 @@ uris/ftp.cpp uris/uris.cpp uris/url.cpp - vectors/vectors.cpp weakref/evtconnection.cpp weakref/weakref.cpp xlocale/xlocale.cpp diff --git a/tests/test.vcxproj b/tests/test.vcxproj index ae1c40b2cb..b220a4ae0d 100644 --- a/tests/test.vcxproj +++ b/tests/test.vcxproj @@ -563,7 +563,6 @@ - diff --git a/tests/test.vcxproj.filters b/tests/test.vcxproj.filters index 659b96ca0a..faf26a4b41 100644 --- a/tests/test.vcxproj.filters +++ b/tests/test.vcxproj.filters @@ -238,9 +238,6 @@ Source Files - - Source Files - Source Files diff --git a/tests/vectors/vectors.cpp b/tests/vectors/vectors.cpp deleted file mode 100644 index c96a24754a..0000000000 --- a/tests/vectors/vectors.cpp +++ /dev/null @@ -1,378 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: tests/vectors/vectors.cpp -// Purpose: wxVector unit test -// Author: Vaclav Slavik -// Created: 2007-07-07 -// Copyright: (c) 2007 Vaclav Slavik -/////////////////////////////////////////////////////////////////////////////// - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -#include "testprec.h" - - -#ifndef WX_PRECOMP - #include "wx/wx.h" -#endif // WX_PRECOMP - -#include "wx/vector.h" - -#if wxUSE_STD_CONTAINERS_COMPATIBLY - #include -#endif // wxUSE_STD_CONTAINERS_COMPATIBLY - -// ---------------------------------------------------------------------------- -// simple class capable of detecting leaks of its objects -// ---------------------------------------------------------------------------- - -class CountedObject -{ -public: - CountedObject(int n = 0) : m_n(n) { ms_count++; } - CountedObject(const CountedObject& co) : m_n(co.m_n) { ms_count++; } - ~CountedObject() { ms_count--; } - - int GetValue() const { return m_n; } - - static int GetCount() { return ms_count; } - -private: - static int ms_count; - - int m_n; -}; - -int CountedObject::ms_count = 0; - -// ---------------------------------------------------------------------------- -// simple class capable of checking its "this" pointer validity -// ---------------------------------------------------------------------------- - -class SelfPointingObject -{ -public: - SelfPointingObject() { m_self = this; } - SelfPointingObject(const SelfPointingObject&) { m_self = this; } - ~SelfPointingObject() { CHECK( this == m_self ); } - - // the assignment operator should not modify our "this" pointer so - // implement it just to prevent the default version from doing it - SelfPointingObject& operator=(const SelfPointingObject&) { return *this; } - -private: - SelfPointingObject *m_self; -}; - -// ---------------------------------------------------------------------------- -// test class -// ---------------------------------------------------------------------------- - -TEST_CASE("wxVector::Push/Pop", "[vector][push_back][pop_back]") -{ - wxVector v; - - CHECK( v.size() == 0 ); - v.push_back(1); - CHECK( v.size() == 1 ); - v.push_back(2); - CHECK( v.size() == 2 ); - v.push_back(42); - CHECK( v.size() == 3 ); - - CHECK( v[0] == 1 ); - CHECK( v[1] == 2 ); - CHECK( v[2] == 42 ); - - v.pop_back(); - CHECK( v.size() == 2 ); - CHECK( v[0] == 1 ); - CHECK( v[1] == 2 ); - - v.pop_back(); - CHECK( v.size() == 1 ); - CHECK( v[0] == 1 ); - - v.pop_back(); - CHECK( v.size() == 0 ); - CHECK( v.empty() ); - - wxVector vEmpty; -} - -TEST_CASE("wxVector::Insert", "[vector][insert]") -{ - wxVector v; - - v.insert(v.end(), 'a'); - CHECK( v.size() == 1 ); - CHECK( v[0] == 'a' ); - - v.insert(v.end(), 'b'); - CHECK( v.size() == 2 ); - CHECK( v[0] == 'a' ); - CHECK( v[1] == 'b' ); - - v.insert(v.begin(), '0'); - CHECK( v.size() == 3 ); - CHECK( v[0] == '0' ); - CHECK( v[1] == 'a' ); - CHECK( v[2] == 'b' ); - - v.insert(v.begin() + 2, 'X'); - CHECK( v.size() == 4 ); - CHECK( v[0] == '0' ); - CHECK( v[1] == 'a' ); - CHECK( v[2] == 'X' ); - CHECK( v[3] == 'b' ); - - v.insert(v.begin() + 3, 3, 'Z'); - REQUIRE( v.size() == 7 ); - CHECK( v[0] == '0' ); - CHECK( v[1] == 'a' ); - CHECK( v[2] == 'X' ); - CHECK( v[3] == 'Z' ); - CHECK( v[4] == 'Z' ); - CHECK( v[5] == 'Z' ); - CHECK( v[6] == 'b' ); -} - -TEST_CASE("wxVector::Erase", "[vector][erase]") -{ - wxVector v; - - v.push_back(1); - v.push_back(2); - v.push_back(3); - v.push_back(4); - CHECK( v.size() == 4 ); - - v.erase(v.begin(), v.end()-1); - CHECK( v.size() == 1 ); - CHECK( v[0] == 4 ); - - v.clear(); - v.push_back(1); - v.push_back(2); - v.push_back(3); - v.push_back(4); - CHECK( v.size() == 4 ); - - v.erase(v.begin()); - CHECK( v.size() == 3 ); - CHECK( v[0] == 2 ); - CHECK( v[1] == 3 ); - CHECK( v[2] == 4 ); -} - -TEST_CASE("wxVector::Iterators", "[vector][iterator]") -{ - wxVector v; - v.push_back(1); - v.push_back(2); - v.push_back(3); - v.push_back(4); - - int value = 1; - for ( wxVector::iterator i = v.begin(); i != v.end(); ++i, ++value ) - { - CHECK( *i == value ); - } -} - -TEST_CASE("wxVector::Objects", "[vector]") -{ - wxVector v; - v.push_back(CountedObject(1)); - v.push_back(CountedObject(2)); - v.push_back(CountedObject(3)); - - v.erase(v.begin()); - CHECK( v.size() == 2 ); - CHECK( CountedObject::GetCount() == 2 ); - - v.clear(); - CHECK( CountedObject::GetCount() == 0 ); -} - -TEST_CASE("wxVector::NonPODs", "[vector]") -{ - wxVector v; - v.push_back(SelfPointingObject()); - v.push_back(SelfPointingObject()); - v.push_back(SelfPointingObject()); - - v.erase(v.begin()); - v.clear(); - - // try the same with wxString, which is not POD, but is implemented in - // a movable way (this won't assert, but would crash or show some memory - // problems under Valgrind if wxString couldn't be safely moved with - // memmove()): - wxVector vs; - vs.push_back("one"); - vs.push_back("two"); - vs.push_back("three"); - - vs.erase(vs.begin()); - vs.clear(); -} - -TEST_CASE("wxVector::Resize", "[vector][resize]") -{ - wxVector v; - v.resize(3); - - CHECK( v.size() == 3 ); - CHECK( CountedObject::GetCount() == 3 ); - CHECK( v[0].GetValue() == 0 ); - CHECK( v[1].GetValue() == 0 ); - CHECK( v[2].GetValue() == 0 ); - - v.resize(1); - CHECK( v.size() == 1 ); - CHECK( CountedObject::GetCount() == 1 ); - - v.resize(4, CountedObject(17)); - CHECK( v.size() == 4 ); - CHECK( CountedObject::GetCount() == 4 ); - CHECK( v[0].GetValue() == 0 ); - CHECK( v[1].GetValue() == 17 ); - CHECK( v[2].GetValue() == 17 ); - CHECK( v[3].GetValue() == 17 ); -} - -TEST_CASE("wxVector::Swap", "[vector][swap]") -{ - wxVector v1, v2; - v1.push_back(17); - v1.swap(v2); - CHECK( v1.empty() ); - CHECK( v2.size() == 1 ); - CHECK( v2[0] == 17 ); - - v1.push_back(9); - v2.swap(v1); - CHECK( v1.size() == 1 ); - CHECK( v1[0] == 17 ); - CHECK( v2.size() == 1 ); - CHECK( v2[0] == 9 ); - - v2.clear(); - v1.swap(v2); - CHECK( v1.empty() ); -} - -TEST_CASE("wxVector::Sort", "[vector][sort]") -{ - size_t idx; - wxVector v; - - v.push_back(5); - v.push_back(7); - v.push_back(2); - v.push_back(9); - v.push_back(4); - v.push_back(1); - v.push_back(3); - v.push_back(8); - v.push_back(0); - v.push_back(6); - - wxVectorSort(v); - - for (idx=1; idx v; - CHECK( !wxVectorContains(v, 0) ); - - v.push_back(3); - CHECK( wxVectorContains(v, 3) ); - - v.push_back(2); - v.push_back(3); - - CHECK( wxVectorContains(v, 2) ); - CHECK( wxVectorContains(v, 3) ); - CHECK( !wxVectorContains(v, 1) ); -} - -TEST_CASE("wxVector::operator==", "[vector][compare]") -{ - wxVector v1, v2; - CHECK( v1 == v2 ); - CHECK( !(v1 != v2) ); - - v1.push_back("foo"); - CHECK( v1 != v2 ); - - v2.push_back("foo"); - CHECK( v1 == v2 ); - - v1.push_back("bar"); - v2.push_back("baz"); - CHECK( v1 != v2 ); -} - -TEST_CASE("wxVector::reverse_iterator", "[vector][reverse_iterator]") -{ - wxVector v; - for ( int i = 0; i < 10; ++i ) - v.push_back(i + 1); - - const wxVector::reverse_iterator rb = v.rbegin(); - const wxVector::reverse_iterator re = v.rend(); - CHECK( re - rb == 10 ); - - wxVector::reverse_iterator ri = rb; - ++ri; - CHECK( ri - rb == 1 ); - CHECK( re - ri == 9 ); - - ri = rb + 2; - CHECK( ri - rb == 2 ); - CHECK( re - ri == 8 ); - - CHECK( rb < ri ); - CHECK( rb <= ri ); - CHECK( ri <= ri ); - CHECK( ri >= ri ); - CHECK( ri < re ); - CHECK( ri <= re ); - - CHECK( rb.base() == v.end() ); - CHECK( re.base() == v.begin() ); - CHECK( *ri.base() == 9 ); - -#if wxUSE_STD_CONTAINERS_COMPATIBLY - std::vector stdvec(rb, re); - REQUIRE( stdvec.size() == 10 ); - CHECK( stdvec[0] == 10 ); - CHECK( stdvec[9] == 1 ); -#endif // wxUSE_STD_CONTAINERS_COMPATIBLY -} - -TEST_CASE("wxVector::capacity", "[vector][capacity][shrink_to_fit]") -{ - wxVector v; - CHECK( v.capacity() == 0 ); - - v.push_back(0); - CHECK( v.capacity() >= 1 ); - - v.shrink_to_fit(); - CHECK( v.capacity() == 1 ); - - v.erase(v.begin()); - CHECK( v.capacity() == 1 ); - - v.shrink_to_fit(); - CHECK( v.capacity() == 0 ); -}