diff options
| author | Tom Cooks <tommasogagliardi+github@gmail.com> | 2026-10-10 15:42:04 -0400 |
|---|---|---|
| committer | Tom Cooks <tommasogagliardi+github@gmail.com> | 2026-10-10 15:42:04 -0400 |
| commit | 901bf58c5cf9151942f8c4cd4e1427a02dec4b52 (patch) | |
| tree | e9e312fb9893881f142a6f79e30417cd0c3f2be8 /app/src/test/java/com/tomcooks | |
| parent | 6db1714d0354d1e1105e330ce84c46a54487c3bb (diff) | |
| download | reccoon-901bf58c5cf9151942f8c4cd4e1427a02dec4b52.tar.gz | |
RECCoon 1.0.0: rebrand to Tom Cooks, Parakeet-only, GPLv3, F-Droid-ready
Diffstat (limited to 'app/src/test/java/com/tomcooks')
| -rw-r--r-- | app/src/test/java/com/tomcooks/reccoon/FormatsTest.java | 20 | ||||
| -rw-r--r-- | app/src/test/java/com/tomcooks/reccoon/StreamingResamplerTest.java | 41 |
2 files changed, 61 insertions, 0 deletions
diff --git a/app/src/test/java/com/tomcooks/reccoon/FormatsTest.java b/app/src/test/java/com/tomcooks/reccoon/FormatsTest.java new file mode 100644 index 0000000..96427a1 --- /dev/null +++ b/app/src/test/java/com/tomcooks/reccoon/FormatsTest.java @@ -0,0 +1,20 @@ +package com.tomcooks.reccoon; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +public class FormatsTest { + + @Test + public void prettyNameStripsWavExtension() { + assertEquals("2026-10-05 09:30:00 #00012", + Formats.prettyName("reccoon-2026-10-05-093000-00012.wav")); + } + + @Test + public void prettyNameStripsM4aExtension() { + assertEquals("2026-10-05 09:30:00 #00012", + Formats.prettyName("reccoon-2026-10-05-093000-00012.m4a")); + } +} diff --git a/app/src/test/java/com/tomcooks/reccoon/StreamingResamplerTest.java b/app/src/test/java/com/tomcooks/reccoon/StreamingResamplerTest.java new file mode 100644 index 0000000..4c44a44 --- /dev/null +++ b/app/src/test/java/com/tomcooks/reccoon/StreamingResamplerTest.java @@ -0,0 +1,41 @@ +package com.tomcooks.reccoon; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import java.util.Random; + +/** Regression tests for the streaming resampler. */ +public class StreamingResamplerTest { + + @Test + public void longStreamOfFullChunksDoesNotThrow() { + StreamingResampler resampler = new StreamingResampler(44100, 16000); + float[] chunk = new float[8192]; + long total = 0; + for (int i = 0; i < 400; i++) { + for (int j = 0; j < chunk.length; j++) { + chunk[j] = (float) Math.sin((i * 8192 + j) * 0.01); + } + total += resampler.process(chunk).length; + } + assertTrue(total > 1_000_000); + } + + @Test + public void oddChunkSizesDoNotThrow() { + StreamingResampler resampler = new StreamingResampler(44100, 16000); + Random random = new Random(1); + long total = 0; + for (int i = 0; i < 3000; i++) { + int n = 1 + random.nextInt(3000); + float[] chunk = new float[n]; + for (int j = 0; j < n; j++) { + chunk[j] = random.nextFloat() * 2f - 1f; + } + total += resampler.process(chunk).length; + } + assertTrue(total > 0); + } +} |
