diff --git a/src/demoreadersettings.ui b/src/demoreadersettings.ui
--- a/src/demoreadersettings.ui
+++ b/src/demoreadersettings.ui
@@ -50,7 +50,7 @@
         32
        
        
-        5
+        1
        
       
      
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -44,6 +44,7 @@ qt5_wrap_ui(UI_FILES_T
   ../src/binarystreamreadersettings.ui
   ../src/asciireadersettings.ui
   ../src/framedreadersettings.ui
+  ../src/demoreadersettings.ui
   ../src/numberformatbox.ui
   ../src/endiannessbox.ui
   )
@@ -62,6 +63,7 @@ add_executable(TestReaders EXCLUDE_FROM_
   ../src/framedreader.cpp
   ../src/framedreadersettings.cpp
   ../src/demoreader.cpp
+  ../src/demoreadersettings.cpp
   ../src/commandedit.cpp
   ../src/endiannessbox.cpp
   ../src/numberformatbox.cpp
diff --git a/tests/test_readers.cpp b/tests/test_readers.cpp
--- a/tests/test_readers.cpp
+++ b/tests/test_readers.cpp
@@ -166,14 +166,6 @@ TEST_CASE("FramedReader shouldn't read w
     REQUIRE(sink.totalFed == 0);
 }
 
-TEST_CASE("DemoReader doesn't have a settings widget", "[reader, demo]")
-{
-    QBuffer bufferDev;          // not actually used
-    DemoReader reader(&bufferDev);
-
-    REQUIRE(reader.settingsWidget() == NULL);
-}
-
 TEST_CASE("Generating data with DemoReader", "[reader, demo]")
 {
     QBuffer bufferDev;          // not actually used
@@ -183,9 +175,7 @@ TEST_CASE("Generating data with DemoRead
     TestSink sink;
     demoReader.connectSink(&sink);
     REQUIRE(sink._numChannels == 1);
-
-    demoReader.setNumOfChannels(3);
-    REQUIRE(sink._numChannels == 3);
+    REQUIRE(sink._hasX == false);
 
     // we need to wait somehow, we are not actually looking for signals
     QSignalSpy spy(&bufferDev, SIGNAL(readyRead()));
@@ -202,16 +192,12 @@ TEST_CASE("DemoReader shouldn't generate
     demoReader.connectSink(&sink);
     REQUIRE(sink._numChannels == 1);
 
-    demoReader.setNumOfChannels(3);
-    REQUIRE(sink._numChannels == 3);
-
     // we need to wait somehow, we are not actually looking for signals
     QSignalSpy spy(&bufferDev, SIGNAL(readyRead()));
     REQUIRE_FALSE(spy.wait(1000)); // we need some time for demoreader to produce data
     REQUIRE(sink.totalFed == 0);
 }
 
-
 // Note: this is added because `QApplication` must be created for widgets
 #include 
 int main(int argc, char* argv[])
diff --git a/tests/test_recorder.cpp b/tests/test_recorder.cpp
--- a/tests/test_recorder.cpp
+++ b/tests/test_recorder.cpp
@@ -47,7 +47,7 @@ TEST_CASE("test recording single channel
     }
 
     // test
-    rec.startRecording(fileName, ",", channelNames);
+    rec.startRecording(fileName, ",", channelNames, false);
     source._feed(samples);
     rec.stopRecording();
 
@@ -87,7 +87,7 @@ TEST_CASE("test recording multiple chann
     }
 
     // test
-    rec.startRecording(fileName, ",", channelNames);
+    rec.startRecording(fileName, ",", channelNames, false);
     source._feed(samples);
     rec.stopRecording();