aboutsummaryrefslogtreecommitdiffstats
path: root/tests/utility/pathTest.cpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2005-08-25 21:25:45 +0000
committerVincent Richard <[email protected]>2005-08-25 21:25:45 +0000
commit5d18fce959ea74f99a8683c944c96881b2365bb2 (patch)
treed35b9177115606eedd84bbc64eb11aa21ca72878 /tests/utility/pathTest.cpp
parentFixed undefined symbol 'UNSPECIFIED_PORT'. (diff)
downloadvmime-5d18fce959ea74f99a8683c944c96881b2365bb2.tar.gz
vmime-5d18fce959ea74f99a8683c944c96881b2365bb2.zip
Moved to CppUnit for unit tests framework.
Diffstat (limited to 'tests/utility/pathTest.cpp')
-rw-r--r--tests/utility/pathTest.cpp508
1 files changed, 247 insertions, 261 deletions
diff --git a/tests/utility/pathTest.cpp b/tests/utility/pathTest.cpp
index 7710cf13..bb9f2098 100644
--- a/tests/utility/pathTest.cpp
+++ b/tests/utility/pathTest.cpp
@@ -17,301 +17,287 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
-#include "../lib/unit++/unit++.h"
+#include "tests/testUtils.hpp"
-#include <iostream>
-#include <ostream>
-
-#include "vmime/vmime.hpp"
-#include "vmime/platforms/posix/posixHandler.hpp"
#include "vmime/utility/path.hpp"
-using namespace unitpp;
+#define VMIME_TEST_SUITE pathTest
+#define VMIME_TEST_SUITE_MODULE "Utility"
+
+
+VMIME_TEST_SUITE_BEGIN
+
+ VMIME_TEST_LIST_BEGIN
+ VMIME_TEST(testConstruct1)
+ VMIME_TEST(testConstruct2)
+ VMIME_TEST(testConstruct3)
+ VMIME_TEST(testConstruct4)
+
+ VMIME_TEST(testAppendComponent)
+
+ VMIME_TEST(testOperatorDiv1)
+ VMIME_TEST(testOperatorDiv2)
+
+ VMIME_TEST(testOperatorDivEqual1)
+ VMIME_TEST(testOperatorDivEqual2)
+
+ VMIME_TEST(testGetParent)
+
+ VMIME_TEST(testComparison)
+
+ VMIME_TEST(testGetLastComponent)
+
+ VMIME_TEST(testIsDirectParentOf)
+ VMIME_TEST(testIsParentOf)
+
+ VMIME_TEST(testRenameParent)
+ VMIME_TEST_LIST_END
+
+
+ typedef vmime::utility::path path;
+ typedef vmime::utility::path::component comp;
+
+
+ void testConstruct1()
+ {
+ VASSERT_EQ("1", true, path().isEmpty());
+ VASSERT_EQ("2", 0, path().getSize());
+ }
+
+ void testConstruct2()
+ {
+ path p(comp("foo"));
+
+ VASSERT_EQ("1", false, p.isEmpty());
+ VASSERT_EQ("2", 1, p.getSize());
+ VASSERT_EQ("3", "foo", p.getComponentAt(0).getBuffer());
+ }
+
+ void testAppendComponent()
+ {
+ path p;
+
+ VASSERT_EQ("1", 0, p.getSize());
+
+ comp c("foo");
+ p.appendComponent(c);
-namespace
-{
- class pathTest : public suite
+ VASSERT_EQ("2", 1, p.getSize());
+ VASSERT_EQ("3", c.getBuffer(), p.getComponentAt(0).getBuffer());
+ }
+
+ void testConstruct3()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
+ p1.appendComponent(comp("bar"));
+
+ path p2(p1);
+
+ VASSERT_EQ("1", 2, p2.getSize());
+ VASSERT_EQ("2", "foo", p2.getComponentAt(0).getBuffer());
+ VASSERT_EQ("3", "bar", p2.getComponentAt(1).getBuffer());
+ }
+
+ void testConstruct4()
+ {
+ // Same as path::path(const component&)
+ path p("foo");
+
+ VASSERT_EQ("1", false, p.isEmpty());
+ VASSERT_EQ("2", 1, p.getSize());
+ VASSERT_EQ("3", "foo", p.getComponentAt(0).getBuffer());
+ }
+
+ void testOperatorDiv1()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
+ p1.appendComponent(comp("bar"));
+
+ path p2;
+ p2.appendComponent(comp("baz"));
+
+ path p3 = p1 / p2;
+
+ VASSERT_EQ("1", 3, p3.getSize());
+ VASSERT_EQ("2", p1.getComponentAt(0).getBuffer(), p3.getComponentAt(0).getBuffer());
+ VASSERT_EQ("3", p1.getComponentAt(1).getBuffer(), p3.getComponentAt(1).getBuffer());
+ VASSERT_EQ("4", p2.getComponentAt(0).getBuffer(), p3.getComponentAt(2).getBuffer());
+ }
+
+ void testOperatorDiv2()
{
- typedef vmime::utility::path path;
- typedef vmime::utility::path::component comp;
+ path p1;
+ p1.appendComponent(comp("foo"));
+ p1.appendComponent(comp("bar"));
+
+ comp c("baz");
+
+ path p2 = p1 / c;
+ VASSERT_EQ("1", 3, p2.getSize());
+ VASSERT_EQ("2", p1.getComponentAt(0).getBuffer(), p2.getComponentAt(0).getBuffer());
+ VASSERT_EQ("3", p1.getComponentAt(1).getBuffer(), p2.getComponentAt(1).getBuffer());
+ VASSERT_EQ("4", c.getBuffer(), p2.getComponentAt(2).getBuffer());
+ }
- void testConstruct1()
- {
- assert_eq("1", true, path().isEmpty());
- assert_eq("2", 0, path().getSize());
- }
-
- void testConstruct2()
- {
- path p(comp("foo"));
-
- assert_eq("1", false, p.isEmpty());
- assert_eq("2", 1, p.getSize());
- assert_eq("3", "foo", p.getComponentAt(0).getBuffer());
- }
+ void testOperatorDivEqual1()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
+ p1.appendComponent(comp("bar"));
+
+ path p2;
+ p2.appendComponent(comp("baz"));
- void testAppendComponent()
- {
- path p;
+ path p3(p1);
+ p3 /= p2;
- assert_eq("1", 0, p.getSize());
-
- comp c("foo");
- p.appendComponent(c);
-
- assert_eq("2", 1, p.getSize());
- assert_eq("3", c.getBuffer(), p.getComponentAt(0).getBuffer());
- }
-
- void testConstruct3()
- {
- path p1;
- p1.appendComponent(comp("foo"));
- p1.appendComponent(comp("bar"));
+ VASSERT_EQ("1", 3, p3.getSize());
+ VASSERT_EQ("2", p1.getComponentAt(0).getBuffer(), p3.getComponentAt(0).getBuffer());
+ VASSERT_EQ("3", p1.getComponentAt(1).getBuffer(), p3.getComponentAt(1).getBuffer());
+ VASSERT_EQ("4", p2.getComponentAt(0).getBuffer(), p3.getComponentAt(2).getBuffer());
+ }
- path p2(p1);
+ void testOperatorDivEqual2()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
+ p1.appendComponent(comp("bar"));
- assert_eq("1", 2, p2.getSize());
- assert_eq("2", "foo", p2.getComponentAt(0).getBuffer());
- assert_eq("3", "bar", p2.getComponentAt(1).getBuffer());
- }
-
- void testConstruct4()
- {
- // Same as path::path(const component&)
- path p("foo");
+ comp c("baz");
- assert_eq("1", false, p.isEmpty());
- assert_eq("2", 1, p.getSize());
- assert_eq("3", "foo", p.getComponentAt(0).getBuffer());
- }
+ path p2(p1);
+ p2 /= c;
- void testOperatorDiv1()
- {
- path p1;
- p1.appendComponent(comp("foo"));
- p1.appendComponent(comp("bar"));
+ VASSERT_EQ("1", 3, p2.getSize());
+ VASSERT_EQ("2", p1.getComponentAt(0).getBuffer(), p2.getComponentAt(0).getBuffer());
+ VASSERT_EQ("3", p1.getComponentAt(1).getBuffer(), p2.getComponentAt(1).getBuffer());
+ VASSERT_EQ("4", c.getBuffer(), p2.getComponentAt(2).getBuffer());
+ }
- path p2;
- p2.appendComponent(comp("baz"));
+ void testGetParent()
+ {
+ path p1;
+ path p1p = p1.getParent();
- path p3 = p1 / p2;
+ VASSERT_EQ("1", true, p1p.isEmpty());
- assert_eq("1", 3, p3.getSize());
- assert_eq("2", p1.getComponentAt(0).getBuffer(), p3.getComponentAt(0).getBuffer());
- assert_eq("3", p1.getComponentAt(1).getBuffer(), p3.getComponentAt(1).getBuffer());
- assert_eq("4", p2.getComponentAt(0).getBuffer(), p3.getComponentAt(2).getBuffer());
- }
-
- void testOperatorDiv2()
- {
- path p1;
- p1.appendComponent(comp("foo"));
- p1.appendComponent(comp("bar"));
-
- comp c("baz");
-
- path p2 = p1 / c;
-
- assert_eq("1", 3, p2.getSize());
- assert_eq("2", p1.getComponentAt(0).getBuffer(), p2.getComponentAt(0).getBuffer());
- assert_eq("3", p1.getComponentAt(1).getBuffer(), p2.getComponentAt(1).getBuffer());
- assert_eq("4", c.getBuffer(), p2.getComponentAt(2).getBuffer());
- }
-
- void testOperatorDivEqual1()
- {
- path p1;
- p1.appendComponent(comp("foo"));
- p1.appendComponent(comp("bar"));
-
- path p2;
- p2.appendComponent(comp("baz"));
-
- path p3(p1);
- p3 /= p2;
-
- assert_eq("1", 3, p3.getSize());
- assert_eq("2", p1.getComponentAt(0).getBuffer(), p3.getComponentAt(0).getBuffer());
- assert_eq("3", p1.getComponentAt(1).getBuffer(), p3.getComponentAt(1).getBuffer());
- assert_eq("4", p2.getComponentAt(0).getBuffer(), p3.getComponentAt(2).getBuffer());
- }
-
- void testOperatorDivEqual2()
- {
- path p1;
- p1.appendComponent(comp("foo"));
- p1.appendComponent(comp("bar"));
-
- comp c("baz");
-
- path p2(p1);
- p2 /= c;
-
- assert_eq("1", 3, p2.getSize());
- assert_eq("2", p1.getComponentAt(0).getBuffer(), p2.getComponentAt(0).getBuffer());
- assert_eq("3", p1.getComponentAt(1).getBuffer(), p2.getComponentAt(1).getBuffer());
- assert_eq("4", c.getBuffer(), p2.getComponentAt(2).getBuffer());
- }
-
- void testGetParent()
- {
- path p1;
- path p1p = p1.getParent();
-
- assert_eq("1", true, p1p.isEmpty());
-
- path p2;
- p2.appendComponent(comp("foo"));
- p2.appendComponent(comp("bar"));
-
- path p2p = p2.getParent();
-
- assert_eq("2", 1, p2p.getSize());
- assert_eq("3", p2.getComponentAt(0).getBuffer(), p2p.getComponentAt(0).getBuffer());
- }
-
- void testComparison()
- {
- path p1;
- p1.appendComponent(comp("foo"));
- p1.appendComponent(comp("bar"));
-
- path p2;
- p2.appendComponent(comp("foo"));
- p2.appendComponent(comp("bar"));
-
- path p3;
- p3.appendComponent(comp("foo"));
- p3.appendComponent(comp("bar"));
- p3.appendComponent(comp("baz"));
-
- assert_eq("1", true, p1 == p2);
- assert_eq("2", false, p1 == p3);
-
- assert_eq("3", false, p1 != p2);
- assert_eq("4", true, p1 != p3);
-
- assert_eq("5", true, p3.getParent() == p1);
- }
-
- void testGetLastComponent()
- {
- path p1;
- p1.appendComponent(comp("foo"));
- p1.appendComponent(comp("bar"));
- p1.appendComponent(comp("baz"));
-
- assert_eq("1", "baz", p1.getLastComponent().getBuffer());
- assert_eq("2", "bar", p1.getParent().getLastComponent().getBuffer());
- assert_eq("3", "foo", p1.getParent().getParent().getLastComponent().getBuffer());
- }
-
- void testIsDirectParentOf()
- {
- path p1;
- p1.appendComponent(comp("foo"));
-
- path p2;
- p2.appendComponent(comp("foo"));
- p2.appendComponent(comp("bar"));
-
- path p3;
- p3.appendComponent(comp("foo"));
- p3.appendComponent(comp("bar"));
- p3.appendComponent(comp("baz"));
-
- assert_eq("1", true, p1.isDirectParentOf(p2));
- assert_eq("2", true, p2.isDirectParentOf(p3));
- assert_eq("3", false, p1.isDirectParentOf(p3));
- assert_eq("4", false, p2.isDirectParentOf(p1));
- }
+ path p2;
+ p2.appendComponent(comp("foo"));
+ p2.appendComponent(comp("bar"));
- void testIsParentOf()
- {
- path p1;
- p1.appendComponent(comp("foo"));
-
- path p2;
- p2.appendComponent(comp("foo"));
- p2.appendComponent(comp("bar"));
+ path p2p = p2.getParent();
- path p3;
- p3.appendComponent(comp("foo"));
- p3.appendComponent(comp("bar"));
- p3.appendComponent(comp("baz"));
+ VASSERT_EQ("2", 1, p2p.getSize());
+ VASSERT_EQ("3", p2.getComponentAt(0).getBuffer(), p2p.getComponentAt(0).getBuffer());
+ }
- assert_eq("1", true, p1.isParentOf(p2));
- assert_eq("2", true, p2.isParentOf(p3));
- assert_eq("3", true, p1.isParentOf(p3));
- assert_eq("4", false, p2.isParentOf(p1));
- }
+ void testComparison()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
+ p1.appendComponent(comp("bar"));
- void testRenameParent()
- {
- path p1;
- p1.appendComponent(comp("a"));
- p1.appendComponent(comp("b"));
- p1.appendComponent(comp("c"));
- p1.appendComponent(comp("d"));
+ path p2;
+ p2.appendComponent(comp("foo"));
+ p2.appendComponent(comp("bar"));
- path p2;
- p2.appendComponent(comp("a"));
- p2.appendComponent(comp("b"));
+ path p3;
+ p3.appendComponent(comp("foo"));
+ p3.appendComponent(comp("bar"));
+ p3.appendComponent(comp("baz"));
- path p3;
- p3.appendComponent(comp("x"));
- p3.appendComponent(comp("y"));
- p3.appendComponent(comp("z"));
+ VASSERT_EQ("1", true, p1 == p2);
+ VASSERT_EQ("2", false, p1 == p3);
- path p(p1);
- p.renameParent(p2, p3);
+ VASSERT_EQ("3", false, p1 != p2);
+ VASSERT_EQ("4", true, p1 != p3);
- assert_eq("1", 5, p.getSize());
- assert_eq("2", "x", p.getComponentAt(0).getBuffer());
- assert_eq("3", "y", p.getComponentAt(1).getBuffer());
- assert_eq("4", "z", p.getComponentAt(2).getBuffer());
- assert_eq("5", "c", p.getComponentAt(3).getBuffer());
- assert_eq("6", "d", p.getComponentAt(4).getBuffer());
- }
+ VASSERT_EQ("5", true, p3.getParent() == p1);
+ }
- public:
+ void testGetLastComponent()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
+ p1.appendComponent(comp("bar"));
+ p1.appendComponent(comp("baz"));
- pathTest() : suite("vmime::utility::path")
- {
- // VMime initialization
- vmime::platformDependant::setHandler<vmime::platforms::posix::posixHandler>();
-
- add("Construct1", testcase(this, "Construct1", &pathTest::testConstruct1));
- add("Construct2", testcase(this, "Construct2", &pathTest::testConstruct2));
- add("Construct3", testcase(this, "Construct3", &pathTest::testConstruct3));
- add("Construct4", testcase(this, "Construct4", &pathTest::testConstruct4));
+ VASSERT_EQ("1", "baz", p1.getLastComponent().getBuffer());
+ VASSERT_EQ("2", "bar", p1.getParent().getLastComponent().getBuffer());
+ VASSERT_EQ("3", "foo", p1.getParent().getParent().getLastComponent().getBuffer());
+ }
- add("AppendComponent", testcase(this, "AppendComponent", &pathTest::testAppendComponent));
+ void testIsDirectParentOf()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
- add("OperatorDiv1", testcase(this, "OperatorDiv1", &pathTest::testOperatorDiv1));
- add("OperatorDiv2", testcase(this, "OperatorDiv2", &pathTest::testOperatorDiv2));
+ path p2;
+ p2.appendComponent(comp("foo"));
+ p2.appendComponent(comp("bar"));
- add("OperatorDivEqual1", testcase(this, "OperatorDivEqual1", &pathTest::testOperatorDivEqual1));
- add("OperatorDivEqual2", testcase(this, "OperatorDivEqual2", &pathTest::testOperatorDivEqual2));
+ path p3;
+ p3.appendComponent(comp("foo"));
+ p3.appendComponent(comp("bar"));
+ p3.appendComponent(comp("baz"));
- add("GetParent", testcase(this, "GetParent", &pathTest::testGetParent));
-
- add("Comparison", testcase(this, "Comparison", &pathTest::testComparison));
+ VASSERT_EQ("1", true, p1.isDirectParentOf(p2));
+ VASSERT_EQ("2", true, p2.isDirectParentOf(p3));
+ VASSERT_EQ("3", false, p1.isDirectParentOf(p3));
+ VASSERT_EQ("4", false, p2.isDirectParentOf(p1));
+ }
- add("GetLastComponent", testcase(this, "GetLastComponent", &pathTest::testGetLastComponent));
+ void testIsParentOf()
+ {
+ path p1;
+ p1.appendComponent(comp("foo"));
- add("IsDirectParentOf", testcase(this, "IsDirectParentOf", &pathTest::testIsDirectParentOf));
- add("IsParentOf", testcase(this, "IsParentOf", &pathTest::testIsParentOf));
+ path p2;
+ p2.appendComponent(comp("foo"));
+ p2.appendComponent(comp("bar"));
- add("RenameParent", testcase(this, "RenameParent", &pathTest::testRenameParent));
+ path p3;
+ p3.appendComponent(comp("foo"));
+ p3.appendComponent(comp("bar"));
+ p3.appendComponent(comp("baz"));
- suite::main().add("vmime::utility::path", this);
- }
+ VASSERT_EQ("1", true, p1.isParentOf(p2));
+ VASSERT_EQ("2", true, p2.isParentOf(p3));
+ VASSERT_EQ("3", true, p1.isParentOf(p3));
+ VASSERT_EQ("4", false, p2.isParentOf(p1));
+ }
- };
+ void testRenameParent()
+ {
+ path p1;
+ p1.appendComponent(comp("a"));
+ p1.appendComponent(comp("b"));
+ p1.appendComponent(comp("c"));
+ p1.appendComponent(comp("d"));
+
+ path p2;
+ p2.appendComponent(comp("a"));
+ p2.appendComponent(comp("b"));
+
+ path p3;
+ p3.appendComponent(comp("x"));
+ p3.appendComponent(comp("y"));
+ p3.appendComponent(comp("z"));
+
+ path p(p1);
+ p.renameParent(p2, p3);
+
+ VASSERT_EQ("1", 5, p.getSize());
+ VASSERT_EQ("2", "x", p.getComponentAt(0).getBuffer());
+ VASSERT_EQ("3", "y", p.getComponentAt(1).getBuffer());
+ VASSERT_EQ("4", "z", p.getComponentAt(2).getBuffer());
+ VASSERT_EQ("5", "c", p.getComponentAt(3).getBuffer());
+ VASSERT_EQ("6", "d", p.getComponentAt(4).getBuffer());
+ }
+
+VMIME_TEST_SUITE_END
- pathTest* theTest = new pathTest();
-}