Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/test/controlobjecttest.cpp

Go to the documentation of this file.
00001 #include <gtest/gtest.h>
00002 #include <QDebug>
00003 
00004 #include "controlobject.h"
00005 
00006 namespace {
00007 
00008 class ControlObjectTest : public testing::Test {
00009   protected:
00010 
00011     ControlObjectTest() {
00012         qDebug() << "ControlObjectTest()";
00013     }
00014 
00015     virtual void SetUp() {
00016         qDebug() << "SetUp";
00017         ck1 = ConfigKey("[Channel1]", "co1");
00018         ck2 = ConfigKey("[Channel1]", "co2");
00019         co1 = new ControlObject(ck1);
00020         co2 = new ControlObject(ck2);
00021     }
00022 
00023     virtual void TearDown() {
00024         qDebug() << "TearDown";
00025         if(co1) {
00026             qDebug() << "Deleting " << co1;
00027             delete co1;
00028             co1 = NULL;
00029         }
00030         if(co2) {
00031             qDebug() << "Deleting " << co2;
00032             delete co2;
00033             co2 = NULL;
00034         }
00035     }
00036 
00037     ConfigKey ck1, ck2;
00038     ControlObject *co1, *co2;
00039 
00040 };
00041 
00042 TEST_F(ControlObjectTest, setGet) {
00043     co1->set(1.0f);
00044     EXPECT_DOUBLE_EQ(1.0f, co1->get());
00045     co2->set(2.0f);
00046     EXPECT_DOUBLE_EQ(2.0f, co2->get());
00047 }
00048 
00049 TEST_F(ControlObjectTest, getControl) {
00050     EXPECT_EQ(ControlObject::getControl(ck1), co1);
00051     EXPECT_EQ(ControlObject::getControl(ck2), co2);
00052     delete co2;
00053     co2 = NULL;
00054     EXPECT_EQ(ControlObject::getControl(ck2), (ControlObject*)NULL);
00055 }
00056 
00057 TEST_F(ControlObjectTest, connectControls) {
00058     ControlObject::connectControls(ck1, ck2);
00059     co1->set(1.0f);
00060     EXPECT_DOUBLE_EQ(1.0f, co1->get());
00061     EXPECT_DOUBLE_EQ(1.0f, co2->get());
00062     ControlObject::disconnectControl(ck1);
00063     co1->set(2.0f);
00064     EXPECT_DOUBLE_EQ(2.0f, co1->get());
00065     EXPECT_DOUBLE_EQ(1.0f, co2->get());
00066 }
00067 
00068 TEST_F(ControlObjectTest, syncDoesntCrash) {
00069     co1->set(1.0f);
00070     co2->set(2.0f);
00071     ControlObject::sync();
00072     co1->set(0.0f);
00073     co2->set(1.0f);
00074     delete co2;
00075     co2 = NULL;
00076     ControlObject::sync();
00077     co1->set(0.0f);
00078     delete co1;
00079     co1 = NULL;
00080     ControlObject::sync();
00081 }
00082 
00083 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines