commit f87481395a126928bef77eace7a839cd62172798
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Mon Sep 5 23:34:10 2016 +0200

    fix

diff --git a/.gitignore b/.gitignore
index dfe225d..4762ca7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 *.pro.user
 *build
 build*
+*.swp
diff --git a/.travis.yml.swp b/.travis.yml.swp
deleted file mode 100644
index 00a093a..0000000
Binary files a/.travis.yml.swp and /dev/null differ
diff --git a/src/entity.h b/src/entity.h
index d1f83ce..62bec43 100644
--- a/src/entity.h
+++ b/src/entity.h
@@ -38,7 +38,7 @@ class Entity : public QObject {
   signals:
     void idChanged();
 
-#define EM_LIST_MACRO(type) \
+#define EM_MACRO(type) \
     virtual void setListProperty(QList<QSharedPointer<Entity>> &entList, const QMetaProperty &property)  { \
         QList<QSharedPointer<type>> list = *reinterpret_cast<QList<QSharedPointer<type>>*>(&entList); \
         QVariant var; \
@@ -51,7 +51,7 @@ class Entity : public QObject {
 
 //#define EM_LIST_PROPERTY(type,attribute,getter,setter)
 //    Q_PROPERTY(QList<QSharedPointer<type>> attribute READ getter WRITE setter)
-//    EM_LIST_MACRO(type)
+//    EM_MACRO(type)
 
 
 
diff --git a/src/entityhelper.cpp b/src/entityhelper.cpp
index 2fe7bee..e886114 100644
--- a/src/entityhelper.cpp
+++ b/src/entityhelper.cpp
@@ -196,17 +196,6 @@ const QString EntityHelper::getClassName(const Entity *entity) {
     return QString(entity->metaObject()->className());
 }
 
-#include <QDebug>
-
-void EntityHelper::setListProperty(const QSharedPointer<Entity> &entity,
-                                   QList<QSharedPointer<Entity>> &list,
-                                   const QMetaProperty &property)  {
-    QVariant var;
-    var.setValue<QList<QSharedPointer<Entity>>>(list);
-    qDebug() << "<ab>" << entity->setProperty(property.name(),var);
-    //property.write(entity.data(), var);
-}
-
 void EntityHelper::addEntityToListProperty(const QSharedPointer<Entity>
         &entity, QSharedPointer<Entity> add, const QMetaProperty &property) {
     QVariant var = property.read(entity.data());
diff --git a/src/entityhelper.h b/src/entityhelper.h
index 562bd39..f43a990 100644
--- a/src/entityhelper.h
+++ b/src/entityhelper.h
@@ -57,9 +57,6 @@ class EntityHelper {
             QSharedPointer<Entity> remove, const QMetaProperty &property);
     static void clearEntityListProperty(const QSharedPointer<Entity> &entity,
                                         const QMetaProperty &property);
-    static void setListProperty(const QSharedPointer<Entity> &entity,
-                                QList<QSharedPointer<Entity>> &list,
-                                const QMetaProperty &property);
     static void setProperty(const QSharedPointer<Entity> &entity,
                             QSharedPointer<Entity> value,
                             const QMetaProperty &property);
diff --git a/tests/em/tst_em.cpp b/tests/em/tst_em.cpp
index ca2fe29..b2cabdb 100644
--- a/tests/em/tst_em.cpp
+++ b/tests/em/tst_em.cpp
@@ -300,5 +300,6 @@ void EmTest::testRelations() {
     g->removePerson(firstPerson);
     QVERIFY(this->e->save(g, true, true));
     this->e->refresh(firstPerson);
-    QVERIFY(firstPerson->getGroups().size() == 0 && g->getPersons().size() == 1);
+    QVERIFY(firstPerson->getGroups().size() == 0);
+    QVERIFY(g->getPersons().size() == 1);
 }
diff --git a/tests/em/tst_querybuilder.cpp b/tests/em/tst_querybuilder.cpp
index fc0754b..ba70a91 100644
--- a/tests/em/tst_querybuilder.cpp
+++ b/tests/em/tst_querybuilder.cpp
@@ -213,6 +213,18 @@ void QuerybuilderTest::testQueryBuilderManyToManyRelationAttribute() {
     QCOMPARE(groupList.at(0)->getPersons().size(), 3);
 }
 
+void QuerybuilderTest::testEnum()
+{
+      auto qb = e->getQueryBuilder();
+       Query q = Query();
+        QVariant var;
+        var.setValue<Person::Gender>(Person::Gender::FEMALE);
+        q.appendWhere(q.equal(qb, "gender", var.toInt()));
+        QList<QSharedPointer<Person>> females = e->find<Person>(q, false);
+        QCOMPARE(females.size(), 4);
+        QCOMPARE(females.first()->getGender(), Person::Gender::FEMALE);
+}
+
 void QuerybuilderTest::testRefresh() {
     e->clearCache();
     auto persons = e->findAll<Person>(false);
diff --git a/tests/em/tst_querybuilder.h b/tests/em/tst_querybuilder.h
index ff7141e..fd60dfc 100644
--- a/tests/em/tst_querybuilder.h
+++ b/tests/em/tst_querybuilder.h
@@ -27,6 +27,7 @@ class QuerybuilderTest : public QObject {
     void testQueryBuilderSingleAttributeOr();
     void testQueryBuilderManyToOneRelationAttribute();
     void testQueryBuilderManyToManyRelationAttribute();
+    void testEnum();
     void testRefresh();
 
   private:
diff --git a/tests/models.h b/tests/models.h
index 82bb7e5..921f910 100644
--- a/tests/models.h
+++ b/tests/models.h
@@ -22,7 +22,7 @@ class Person: public Entity {
     Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups)
     Q_PROPERTY(QList<QSharedPointer<Group>> maintainedGroups READ
                getMaintainedGroups WRITE setMaintainedGroups)
-    EM_LIST_MACRO(Group)
+    EM_MACRO(Group)
 //    EM_LIST_PROPERTY(Group,groups,getGroups,setGroups)
 //    EM_LIST_PROPERTY(Group,maintainedGroups,getMaintainedGroups,setMaintainedGroups)
 
@@ -122,7 +122,7 @@ class WorkerGroup : public Entity {
     Q_PROPERTY(bool active READ isActive WRITE setActive)
     Q_PROPERTY(QList<QSharedPointer<Employee>> workers READ getWorkers WRITE
                setWorkers)
-    EM_LIST_MACRO(Employee)
+    EM_MACRO(Employee)
 
   public:
     WorkerGroup() : Entity() { }
@@ -162,7 +162,7 @@ class Group: public CuteEntityManager::Entity {
     Q_PROPERTY(QString name READ getName WRITE setName)
     Q_PROPERTY(QSharedPointer<Person> leader READ getLeader WRITE
                setLeader)
-    EM_LIST_MACRO(Person)
+    EM_MACRO(Person)
 
   public:
     Q_INVOKABLE Group();
