package com.simpligility.android.morse; import junit.framework.TestCase; import org.junit.Assert; /** * MorseCodeConverterInAppTest is the unit test suite for {@link com.simpligility.android.morse.MorseCodeConverter}. * This class is a duplicate of MorseCodeConverterInAppTest showing how a pure unit test can run within the same project * as the Android application. * * @author Manfred Moser - manfred@simpligility.com */ public class MorseCodeConverterInAppTest extends TestCase { /** * Test the timing parameters for signals. */ public void testSetup() { Assert.assertEquals(MorseCodeConverter.GAP, 100); Assert.assertEquals(MorseCodeConverter.DASH, 300); Assert.assertEquals(MorseCodeConverter.DOT, 100); } /** * Test the string "SOS". */ public void testSOS() { long[] sosArrayExpected = new long[] {0,100,100,100,100,100,300,300,100,300,100,300,300,100,100,100,100,100,0}; long[] actual = MorseCodeConverter.pattern("SOS"); Assert.assertArrayEquals(sosArrayExpected, actual); } public void testCaseSensitivity() { Assert.assertArrayEquals(MorseCodeConverter.pattern("sos"), MorseCodeConverter.pattern("SOS")); Assert.assertArrayEquals(MorseCodeConverter.pattern("sOs"), MorseCodeConverter.pattern("SOS")); } public void testSomeNumbers() { long[] expected = new long[]{0,100,100,300,100,300,100,300,100,300,300,100,100,100,100,300,100,300,100,300,300, 100,100,100,100,100,100,300,100,300,0}; long[] actual = MorseCodeConverter.pattern("123"); Assert.assertArrayEquals(expected, actual); } public void testWhitespaceTreatment() { long[] expected = new long[]{0,100,100,100,100,100,100,100,700,100,100,300,100,300,0}; long[] actual = MorseCodeConverter.pattern("H W"); Assert.assertArrayEquals(expected, actual); } public void testChars() { Assert.assertArrayEquals(new long[] {100,100,300}, MorseCodeConverter.pattern('A')); Assert.assertArrayEquals(new long[] {300,100,300}, MorseCodeConverter.pattern('m')); Assert.assertArrayEquals(new long[] {300,100,300}, MorseCodeConverter.pattern('M')); Assert.assertArrayEquals(new long[] {100}, MorseCodeConverter.pattern(' ')); Assert.assertArrayEquals(new long[] {100,100,100,100,100,100,100,100,300}, MorseCodeConverter.pattern('4')); Assert.assertArrayEquals(new long[] {100}, MorseCodeConverter.pattern('?')); } }