/** Test methods for ArrayPractice.java * @see http://www.radford.edu/itec120/2019fall-ibarland/Homeworks/arrays/ * @version 2019-Oct-13 * @author ibarland@radford.edu * @license CC-BY-4.0 */ class TestArrayPractice extends Object120 { static void testIsTeency() { printTestMsg("isTeency"); assertEquals( true, ArrayPractice.isTeency(0) ); assertEquals( true, ArrayPractice.isTeency(1) ); assertEquals( false, ArrayPractice.isTeency(-1) ); assertEquals( true, ArrayPractice.isTeency(12) ); assertEquals( false, ArrayPractice.isTeency(13) ); assertEquals( false, ArrayPractice.isTeency(-2001) ); assertEquals( false, ArrayPractice.isTeency(2001) ); } static void testAllTeency() { printTestMsg("allTeency"); assertEquals(true, ArrayPractice.allTeency(new int[]{}) ); // Note: different that other itec120-section assertEquals(true, ArrayPractice.allTeency(new int[]{7}) ); assertEquals(false, ArrayPractice.allTeency(new int[]{18}) ); assertEquals(true, ArrayPractice.allTeency(new int[]{7,5,8,1}) ); assertEquals(false, ArrayPractice.allTeency(new int[]{2,15,8}) ); assertEquals(false, ArrayPractice.allTeency(new int[]{1,3,-4,9}) ); } static void testFilterTeencies() { printTestMsg("filterTeencies"); assertEquals(new int[]{}, ArrayPractice.filterTeencies(new int[]{}) ); assertEquals(new int[]{}, ArrayPractice.filterTeencies(new int[]{}) ); assertEquals(new int[]{}, ArrayPractice.filterTeencies(new int[]{44,15,-9,17}) ); assertEquals(new int[]{1}, ArrayPractice.filterTeencies(new int[]{15,1,18}) ); assertEquals(new int[]{3,1,4}, ArrayPractice.filterTeencies(new int[]{3,19,1,4,77}) ); } static void testWhichOnesAreTeency() { printTestMsg("whichOnesAreTeency"); assertEquals(new boolean[]{}, ArrayPractice.whichOnesAreTeency(new int[]{}) ); assertEquals(new boolean[]{false}, ArrayPractice.whichOnesAreTeency(new int[]{33}) ); assertEquals(new boolean[]{true }, ArrayPractice.whichOnesAreTeency(new int[]{3}) ); assertEquals(new boolean[]{false,false}, ArrayPractice.whichOnesAreTeency(new int[]{44,-9}) ); assertEquals(new boolean[]{false,true }, ArrayPractice.whichOnesAreTeency(new int[]{44,+9}) ); assertEquals(new boolean[]{false,true, false,true, true }, ArrayPractice.whichOnesAreTeency(new int[]{15,2,18889,4,7}) ); } static void testCombineArrays() { printTestMsg("combineArrays"); assertEquals(new double[]{}, ArrayPractice.combineArrays( new double[]{}, new double[]{} ) ); assertEquals(new double[]{5.0}, ArrayPractice.combineArrays( new double[]{2.0}, new double[]{2.5} ) ); assertEquals(new double[]{5.0,1.5}, ArrayPractice.combineArrays( new double[]{2.0,3.0}, new double[]{2.5,0.5} ) ); assertEquals(new double[]{5.0,1.5,4.0}, ArrayPractice.combineArrays( new double[]{2.0,3.0,4.0}, new double[]{2.5,0.5} ) ); assertEquals(new double[]{5.0,1.5,4.0}, ArrayPractice.combineArrays( new double[]{2.0,3.0}, new double[]{2.5,0.5,4.0} ) ); assertEquals(new double[]{1,2,3,4,5,6}, ArrayPractice.combineArrays( new double[]{}, new double[]{1,2,3,4,5,6} ) ); assertEquals(new double[]{1,2,3,4,5,6}, ArrayPractice.combineArrays( new double[]{1,2,3,4,5,6}, new double[]{}) ); } static void testDigitsGoLast() { printTestMsg("digitsGoLast"); assertEquals(new char[]{}, ArrayPractice.digitsGoLast(new char[]{}) ); assertEquals(new char[]{'4'}, ArrayPractice.digitsGoLast(new char[]{'4'}) ); assertEquals(new char[]{'a'}, ArrayPractice.digitsGoLast(new char[]{'a'}) ); assertEquals(new char[]{'a','b'}, ArrayPractice.digitsGoLast(new char[]{'a','b'}) ); assertEquals(new char[]{'7','4'}, ArrayPractice.digitsGoLast(new char[]{'7','4'}) ); assertEquals(new char[]{'a','4'}, ArrayPractice.digitsGoLast(new char[]{'4','a'}) ); assertEquals(new char[]{'^','4'}, ArrayPractice.digitsGoLast(new char[]{'4','^'}) ); assertEquals(new char[]{'3','4','5'}, ArrayPractice.digitsGoLast(new char[]{'3','4','5'}) ); assertEquals(new char[]{'N','o','d','i','g','s'}, ArrayPractice.digitsGoLast(new char[]{'N','o','d','i','g','s'}) ); assertEquals(new char[]{'A','B','C','D','1','2'}, ArrayPractice.digitsGoLast(new char[]{'A','B','1','C','2','D'}) ); assertEquals(new char[]{'A','B','C','D','9','8','7','6'}, ArrayPractice.digitsGoLast(new char[]{'A','9','B','8','7','C','6','D'})); } static void testChangeMaxesToMin() { printTestMsg("changeMaxesToMin"); int[] testData; // testing with mutation takes extra steps. testData = new int[]{}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( testData, new int[]{}); testData = new int[]{22}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( new int[]{22}, testData ); testData = new int[]{22,22}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( new int[]{22,22}, testData ); testData = new int[]{1,2}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( new int[]{1,1}, testData ); testData = new int[]{2,1}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( new int[]{1,1}, testData ); testData = new int[]{22,1,22}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( new int[]{1,1,1}, testData ); testData = new int[]{22,1,1}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( new int[]{1,1,1}, testData ); testData = new int[]{5,3,8,8,7}; ArrayPractice.changeMaxesToMin( testData ); assertEquals( new int[]{5,3,3,3,7}, testData ); } static void testAll() { testIsTeency(); testAllTeency(); testFilterTeencies(); testWhichOnesAreTeency(); testIsTeency(); testCombineArrays(); testDigitsGoLast(); testChangeMaxesToMin(); printTestSummary(); } public static void main( String[] args ) { testAll(); } }