diff --git a/app/src/main/java/cse/gradle/AudioRecorder.java b/app/src/main/java/cse/gradle/AudioRecorder.java index 72a369d..64940c4 100644 --- a/app/src/main/java/cse/gradle/AudioRecorder.java +++ b/app/src/main/java/cse/gradle/AudioRecorder.java @@ -52,7 +52,6 @@ public void startRecording(String fileName) { @Override public void run() { try { - // System.out.println("Start recording"); // the format of the TargetDataLine DataLine.Info dataLineInfo = new DataLine.Info( TargetDataLine.class, @@ -67,12 +66,12 @@ public void run() { targetDataLine); // the file that will contain the audio data - // File audioFile = new File("recording.wav"); File audioFile = new File(fileName); AudioSystem.write( audioInputStream, AudioFileFormat.Type.WAVE, audioFile); + audioInputStream.close(); } catch (Exception ex) { ex.printStackTrace(); } diff --git a/app/src/main/java/cse/gradle/MockAudioRecorder.java b/app/src/main/java/cse/gradle/MockAudioRecorder.java new file mode 100644 index 0000000..58f8d72 --- /dev/null +++ b/app/src/main/java/cse/gradle/MockAudioRecorder.java @@ -0,0 +1,37 @@ +package cse.gradle; + +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import java.io.File; + +public class MockAudioRecorder extends AudioRecorder { + + private boolean isRecordingStarted = false; + + @Override + public void startRecording(String fileName) { + if (!isRecordingStarted) { + isRecordingStarted = true; + // Simulate the start of recording without actual audio capture + simulateRecording(fileName); + } + } + + @Override + public void stopRecording() { + if (isRecordingStarted) { + // Simulate the stop of recording without actual audio capture + isRecordingStarted = false; + } + } + + // Simulate the recording process without actual audio capture + private void simulateRecording(String fileName) { + try { + AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(fileName)); + audioInputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/app/src/main/java/cse/gradle/MockController.java b/app/src/main/java/cse/gradle/MockController.java new file mode 100644 index 0000000..5bfef7f --- /dev/null +++ b/app/src/main/java/cse/gradle/MockController.java @@ -0,0 +1,33 @@ +package cse.gradle; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +import cse.gradle.View.UserLogin; + +public class MockController { + public boolean loginUser(String username, String password) throws IOException { + // Checks if the automic login file exists; if it does, and username matches the + // one in file, do automatic login + if ((new File("src/main/java/cse/gradle/local/login.txt")).exists()) { + File loginFile = new File("src/main/java/cse/gradle/local/login.txt"); + BufferedReader reader = new BufferedReader( + new FileReader(loginFile)); + if (username.equals(reader.readLine())) { + reader.close(); + // String postResponse = model.performLoginRequest(loginFile); + // if (postResponse.equals("Error: Server down")) { + // appScenes.displayServerDownConstructor(); + // return false; + // } + // reader.close(); + return true; + } + reader.close(); + } + return false; + } + +} diff --git a/app/src/main/java/cse/gradle/MockModel.java b/app/src/main/java/cse/gradle/MockModel.java index a6d8a7b..e85018c 100644 --- a/app/src/main/java/cse/gradle/MockModel.java +++ b/app/src/main/java/cse/gradle/MockModel.java @@ -9,7 +9,7 @@ public class MockModel extends Model { public MockModel() { // call the super constructor with the test server url - super(mockUrlString); + super(mockUrlString); // hard code the user id to be the test user this.userId = mockUserId; } diff --git a/app/src/main/java/cse/gradle/Model.java b/app/src/main/java/cse/gradle/Model.java index 9f81ecc..5cba33f 100644 --- a/app/src/main/java/cse/gradle/Model.java +++ b/app/src/main/java/cse/gradle/Model.java @@ -24,9 +24,7 @@ import java.net.URISyntaxException; import java.io.*; -import java.net.*; import java.util.*; -import org.json.*; public class Model implements ModelSubject { protected String userId; diff --git a/app/src/main/java/cse/gradle/local/login.txt b/app/src/main/java/cse/gradle/local/login.txt index 6d5e3a7..e9f12b6 100644 --- a/app/src/main/java/cse/gradle/local/login.txt +++ b/app/src/main/java/cse/gradle/local/login.txt @@ -1,2 +1 @@ -bob2000 -2000 \ No newline at end of file +login \ No newline at end of file diff --git a/app/src/test/java/cse/gradle/Feature10Tests.java b/app/src/test/java/cse/gradle/Feature10Tests.java index fde3892..6531206 100644 --- a/app/src/test/java/cse/gradle/Feature10Tests.java +++ b/app/src/test/java/cse/gradle/Feature10Tests.java @@ -13,6 +13,36 @@ class Feature10Tests { /* --------------------------------- UNIT TESTS --------------------------------- */ - + @Test + void automaticLoginChecked() { + MockController controller = new MockController(); + boolean loginStatus = false; + try { + loginStatus = controller.loginUser("abc", "abc"); + } catch (Exception e) { + System.out.println(e); + } + assert(!loginStatus); + } /* --------------------------------- BDD TESTS --------------------------------- */ + @Test + void loginLogoutWithAutoLogin() { + User Joe = new User("abc", "abc"); + MockController controller = new MockController(); + boolean loginStatus = false; + try { + loginStatus = controller.loginUser(Joe.getUsername(), Joe.getPassword()); + } catch (Exception e) { + System.out.println(e); + } + assert(!loginStatus); + Joe = new User("login", "checked"); + loginStatus = true; + try { + loginStatus = controller.loginUser(Joe.getUsername(), Joe.getPassword()); + } catch (Exception e) { + System.out.println(e); + } + assert(loginStatus); + } } diff --git a/app/src/test/java/cse/gradle/Feature12Tests.java b/app/src/test/java/cse/gradle/Feature12Tests.java index fbcf3f3..727e2f6 100644 --- a/app/src/test/java/cse/gradle/Feature12Tests.java +++ b/app/src/test/java/cse/gradle/Feature12Tests.java @@ -2,7 +2,7 @@ * This Java source file was generated by the Gradle 'init' task. * * - * Functionality: Includes Unit and BDD Scenario Testing for User Story #_: ___________ + * Functionality: Includes Unit and BDD Scenario Testing for User Story #12: Regenerate recipe */ package cse.gradle;