From b42a04af6810ff49ac8260ece790a5b25eddd3b5 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Date: Sat, 1 Nov 2014 01:21:13 -0400
Subject: [PATCH] Fixed FFT unit test, just added a short delay. Not the best
 of fixes, but it works.

Issue: DANN-25
Change-Id: Ide6a1f25fc20ad8e9dfc7f25fe78123e630f6142
---
 .../dann/examples/colormap/ColorMapDemo.java     |  1 +
 .../com/syncleus/dann/examples/fft/FftDemo.java  |  4 ++++
 .../syncleus/dann/examples/fft/TestFftDemo.java  | 16 ++++++++++++++++
 3 files changed, 21 insertions(+)

diff --git a/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java b/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java
index 2e50173..7b72c6d 100644
--- a/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java
+++ b/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java
@@ -54,6 +54,7 @@ public class ColorMapDemo extends JFrame implements ActionListener {
     private javax.swing.JSpinner learningRateSpinner;
     private javax.swing.JProgressBar progressBar;
     private javax.swing.JButton trainDisplayButton;
+
     public ColorMapDemo() {
         this.executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
         try {
diff --git a/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java b/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java
index 3183670..e7255ce 100644
--- a/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java
+++ b/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java
@@ -76,6 +76,7 @@ public class FftDemo extends JFrame implements ActionListener {
     private javax.swing.JMenu helpMenuItem;
     private javax.swing.JMenuBar jMenuBar1;
     private javax.swing.JButton listenButton;
+
     public FftDemo() {
         this.initComponents();
 
@@ -114,6 +115,8 @@ public class FftDemo extends JFrame implements ActionListener {
         this.targetDataLine = myTargetDataLine;
 
         this.transformer = new CooleyTukeyFastFourierTransformer(1024, 8000);
+
+        this.listenButton.setEnabled(true);
     }
 
     private static AudioFormat createAudioFormat() {
@@ -173,6 +176,7 @@ public class FftDemo extends JFrame implements ActionListener {
 
         this.listenButton.setText("Listen");
         this.listenButton.setName("listenButton"); // NOI18N
+        this.listenButton.setEnabled(false);
         this.listenButton.addActionListener(new java.awt.event.ActionListener() {
             @Override
             public void actionPerformed(java.awt.event.ActionEvent evt) {
diff --git a/src/test/java/com/syncleus/dann/examples/fft/TestFftDemo.java b/src/test/java/com/syncleus/dann/examples/fft/TestFftDemo.java
index 9b154ad..8335d92 100644
--- a/src/test/java/com/syncleus/dann/examples/fft/TestFftDemo.java
+++ b/src/test/java/com/syncleus/dann/examples/fft/TestFftDemo.java
@@ -20,8 +20,11 @@ package com.syncleus.dann.examples.fft;
 
 import org.fest.swing.edt.*;
 import org.fest.swing.fixture.FrameFixture;
+import org.fest.swing.timing.Timeout;
 import org.junit.*;
 
+import java.io.IOException;
+
 public class TestFftDemo {
     private FrameFixture fftDemoFixture;
 
@@ -53,6 +56,19 @@ public class TestFftDemo {
     public void testComponents() {
         this.fftDemoFixture.requireVisible();
 
+        this.fftDemoFixture.button("listenButton").requireText("Listen");
+        this.fftDemoFixture.button("listenButton").requireEnabled(Timeout.timeout(30000));
+        this.fftDemoFixture.requireEnabled(Timeout.timeout(30000));
+
+
+        try {
+            Thread.sleep(500);
+        }
+        catch(final InterruptedException caughtException) {
+            throw new IllegalStateException("Sleep unexpectidly interrupted", caughtException);
+        }
+
+
         //start listening
         this.fftDemoFixture.button("listenButton").click();
 
-- 
GitLab