![]() |
Mixxx
|
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 }