Index: modules/sound/src/test/java/tests/javax/sound/midi/PatchTest.java =================================================================== --- modules/sound/src/test/java/tests/javax/sound/midi/PatchTest.java (revision 0) +++ modules/sound/src/test/java/tests/javax/sound/midi/PatchTest.java (revision 0) @@ -0,0 +1,77 @@ +/* + * Copyright 2006 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @author Evgeny S. Sidorenko + */ + +package tests.javax.sound.midi; + +import junit.framework.TestCase; + +import javax.sound.midi.Patch; + +public class PatchTest extends TestCase +{ + /** + * test constructor of class Patch + * + */ + public void test_constructor() + { + Patch patch = new Patch( 34, 68 ); + assertTrue( patch.getBank() == 34 ); + assertTrue( patch.getProgram() == 68 ); + + Patch patch2 = new Patch( -4, 567 ); + assertTrue( patch2.getBank() == -4 ); + assertTrue( patch2.getProgram() == 567 ); + } + + /** + * test method getBank() of class Patch + * + */ + public void test_getBank() + { + Patch patch = new Patch( 45, 78 ); + assertTrue( patch.getBank() == 45 ); + + Patch patch1 = new Patch( -78, 78 ); + assertTrue( patch1.getBank() == -78 ); + + Patch patch2 = new Patch( 16400, 78 ); + assertTrue( patch2.getBank() == 16400 ); + + } + + /** + * test method getProgram() of class Patch + * + */ + public void test_getProgram() + { + Patch patch = new Patch( 45, 78 ); + assertTrue( patch.getProgram() == 78 ); + + Patch patch1 = new Patch( -78, -5 ); + assertTrue( patch1.getProgram() == -5 ); + + Patch patch2 = new Patch( 16400, 216 ); + assertTrue( patch2.getProgram() == 216 ); + + } +} Index: modules/sound/src/test/java/tests/javax/sound/midi/InstrumentTest.java =================================================================== --- modules/sound/src/test/java/tests/javax/sound/midi/InstrumentTest.java (revision 0) +++ modules/sound/src/test/java/tests/javax/sound/midi/InstrumentTest.java (revision 0) @@ -0,0 +1,83 @@ +/* + * Copyright 2006 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @author Evgeny S. Sidorenko + */ + +package tests.javax.sound.midi; + +import javax.sound.midi.Instrument; +import javax.sound.midi.Patch; +import javax.sound.midi.Soundbank; + +import junit.framework.TestCase; + +/** + * Subsidiary class in order to use constructor + * of class Instrument, because it declared as protected + */ +class Instrument1 extends Instrument +{ + Instrument1( Soundbank soundbank, Patch patch, String name, Class dataClass ) + { + super( soundbank, patch, name, dataClass ); + } + public Object getData() + { + return null; + } +} +public class InstrumentTest extends TestCase +{ + /** + * Test the method Instrument.getPatch() + */ + public void test_getPatch() + { + Instrument1 inst = new Instrument1( null, null, null, null ); + assertTrue( inst.getPatch() == null ); + + Instrument1 inst2 = new Instrument1( null, new Patch( 10, 20 ), "Test", null ); + assertTrue( inst2.getPatch().getBank() == 10 && + inst2.getPatch().getProgram() == 20 ); + + Instrument1 inst3 = new Instrument1( null, new Patch( -10, 208 ), "Test", null ); + assertTrue( inst3.getPatch().getBank() == -10 && + inst3.getPatch().getProgram() == 208 ); + } + + /** + * Test the method Instrument.getName() + */ + public void test_getName() + { + Instrument1 inst = new Instrument1( null, null, null, null ); + assertTrue( inst.getName() == null ); + + Instrument1 inst2 = new Instrument1( null, new Patch( 10, 20 ), "Test", null ); + assertTrue( inst2.getName().equals( "Test" ) ); + } + + /** + * Test the method Instrument.getDataClass() + */ + public void test_getDataClass() + { + Instrument1 inst = new Instrument1( null, null, null, null ); + assertTrue( inst.getDataClass() == null ); + } +} Index: modules/sound/src/test/java/tests/javax/sound/midi/AllTests.java =================================================================== --- modules/sound/src/test/java/tests/javax/sound/midi/AllTests.java (revision 0) +++ modules/sound/src/test/java/tests/javax/sound/midi/AllTests.java (revision 0) @@ -0,0 +1,46 @@ +/* + * Copyright 2006 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @author Evgeny S. Sidorenko + */ + +package tests.javax.sound.midi; + +import junit.framework.Test; +import junit.framework.TestSuite; + +public class AllTests +{ + public static void main( String[] args ) + { + junit.textui.TestRunner.run( suite() ); + } + + public static Test suite() + { + TestSuite suite = new TestSuite( "Tests for javax.sound.midi" ); + // $JUnit-BEGIN$ + suite.addTestSuite( MetaMessageTest.class ); + //suite.addTestSuite( MidiMessageTest.class ); + suite.addTestSuite( InstrumentTest.class ); + //suite.addTestSuite( ShortMessageTest.class ); + suite.addTestSuite( SoundbankResourceTest.class ); + suite.addTestSuite( PatchTest.class ); + // $JUnit-END$ + return suite; + } +} Index: modules/sound/src/test/java/tests/javax/sound/midi/MetaMessageTest.java =================================================================== --- modules/sound/src/test/java/tests/javax/sound/midi/MetaMessageTest.java (revision 0) +++ modules/sound/src/test/java/tests/javax/sound/midi/MetaMessageTest.java (revision 0) @@ -0,0 +1,432 @@ +/* + * Copyright 2006 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @author Evgeny S. Sidorenko + */ + +package tests.javax.sound.midi; + +import javax.sound.midi.MetaMessage; +import javax.sound.midi.InvalidMidiDataException; +import junit.framework.TestCase; + +/** + * Subsidiary class in order to testing constructor + * of class Instrument, because it declared as protected + */ +class MetaMessage1 extends MetaMessage +{ + MetaMessage1( byte[] data ) + { + super( data ); + } +} +public class MetaMessageTest extends TestCase +{ + /** + * Test constructors of class MetaMessage + * with parameters and without its. + */ + public void test_constructor_MetaMessage() + { + MetaMessage meta = new MetaMessage(); + assertTrue( meta.getLength() == 2 ); + assertTrue( meta.getStatus() == 255 ); + assertTrue( meta.getType() == 0 ); + assertTrue( meta.getMessage().length == 2 ); + assertTrue( meta.getMessage()[0] == -1 ); + assertTrue( meta.getMessage()[1] == 0 ); + assertTrue( meta.getData().length == 0 ); + + try { + MetaMessage1 meta2 = new MetaMessage1( null ); + fail( "NullPointerException expected" ); + } catch( NullPointerException e ) { }; + + MetaMessage1 meta3 = new MetaMessage1( new byte[] { -87, 19, 4 } ); + assertTrue( meta3.getLength() == 3 ); + assertTrue( meta3.getStatus() == 169 ); + assertTrue( meta3.getType() == 19 ); + assertTrue( meta3.getMessage().length == 3 ); + assertTrue( meta3.getMessage()[0] == -87 ); + assertTrue( meta3.getMessage()[1] == 19 ); + assertTrue( meta3.getMessage()[2] == 4 ); + assertTrue( meta3.getData().length == 0 ); + + MetaMessage1 meta1 = new MetaMessage1( new byte[] { 17, -9, 23, 45, 56 } ); + assertTrue( meta1.getLength() == 5 ); + assertTrue( meta1.getStatus() == 17 ); + assertTrue( meta1.getType() == 247 ); + assertTrue( meta1.getMessage().length == 5 ); + assertTrue( meta1.getMessage()[0] == 17 ); + assertTrue( meta1.getMessage()[1] == -9 ); + assertTrue( meta1.getMessage()[2] == 23 ); + assertTrue( meta1.getMessage()[3] == 45 ); + assertTrue( meta1.getMessage()[4] == 56 ); + assertTrue( meta1.getData().length == 2 ); + assertTrue( meta1.getData()[0] == 45 ); + assertTrue( meta1.getData()[1] == 56 ); + + } + + /** + * Test constant + */ + public void test_constants() + { + MetaMessage meta = new MetaMessage(); + assertTrue( "Value of META", meta.META == 255 ); + } + + /** + * Test method setMessage( int, byte[], int ) of + * class MetaMessage with parameters and without its. + * Class was created using constructor MetaMessage() + */ + public void test_setMessage1() + { + MetaMessage meta = new MetaMessage(); + try { + meta.setMessage( 10, new byte[] { 1, 2, 3 } , 4 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( 10, new byte[] { 1, 2, 3 } , -5 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( -1, new byte[] { 1, 2, 3 } , 3 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( 128, new byte[] { 1, 2, 3 } , 3 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( 10, new byte[] { 1, 2, 3, 4 }, 4 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getLength() == 7 ); + assertTrue( meta.getStatus() == 255 ); + assertTrue( meta.getType() == 10 ); + assertTrue( meta.getData().length == 4 ); + assertTrue( meta.getData()[0] == 1 ); + assertTrue( meta.getData()[1] == 2 ); + assertTrue( meta.getData()[2] == 3 ); + assertTrue( meta.getData()[3] == 4 ); + assertTrue( meta.getMessage().length == 7 ); + assertTrue( meta.getMessage()[0] == -1 ); + assertTrue( meta.getMessage()[1] == 10 ); + assertTrue( meta.getMessage()[2] == 4 ); + assertTrue( meta.getMessage()[3] == 1 ); + assertTrue( meta.getMessage()[4] == 2 ); + assertTrue( meta.getMessage()[5] == 3 ); + assertTrue( meta.getMessage()[6] == 4 ); + + try { + meta.setMessage( 12, null, 0 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getLength() == 3 ); + assertTrue( meta.getStatus() == 255 ); + assertTrue( meta.getType() == 12 ); + assertTrue( meta.getData().length == 0 ); + assertTrue( meta.getMessage().length == 3 ); + assertTrue( meta.getMessage()[0] == -1 ); + assertTrue( meta.getMessage()[1] == 12 ); + assertTrue( meta.getMessage()[2] == 0 ); + + try { + meta.setMessage( 12, null, 9 ); + fail( "NullPointerException expected" ); + } catch( InvalidMidiDataException e ) { } + catch( NullPointerException e ) { } + + try { + meta.setMessage( 12, null, -9 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + } + + /** + * Test method setMessage( int, byte[], int ) of + * class MetaMessage with parameters and without its. + * Class was created using constructor MetaMessage( byte[] ) + */ + public void test_setMessage2() + { + MetaMessage1 meta = new MetaMessage1( new byte[] { -23, 18, 87, 34, -90 } ); + try { + meta.setMessage( 10, new byte[] { 1, 2, 3 } , 4 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( 10, new byte[] { 1, 2, 3 } , -5 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( -1, new byte[] { 1, 2, 3 } , 3 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( 128, new byte[] { 1, 2, 3 } , 3 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + try { + meta.setMessage( 10, new byte[] { 1, 2, 3, 4 }, 4 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getLength() == 7 ); + assertTrue( meta.getStatus() == 255 ); + assertTrue( meta.getType() == 10 ); + assertTrue( meta.getData().length == 4 ); + assertTrue( meta.getData()[0] == 1 ); + assertTrue( meta.getData()[1] == 2 ); + assertTrue( meta.getData()[2] == 3 ); + assertTrue( meta.getData()[3] == 4 ); + assertTrue( meta.getMessage().length == 7 ); + assertTrue( meta.getMessage()[0] == -1 ); + assertTrue( meta.getMessage()[1] == 10 ); + assertTrue( meta.getMessage()[2] == 4 ); + assertTrue( meta.getMessage()[3] == 1 ); + assertTrue( meta.getMessage()[4] == 2 ); + assertTrue( meta.getMessage()[5] == 3 ); + assertTrue( meta.getMessage()[6] == 4 ); + + try { + meta.setMessage( 10, new byte[] { 1, 2, 3, 4 }, 2 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getLength() == 5 ); + assertTrue( meta.getStatus() == 255 ); + assertTrue( meta.getType() == 10 ); + assertTrue( meta.getData().length == 2 ); + assertTrue( meta.getData()[0] == 1 ); + assertTrue( meta.getData()[1] == 2 ); + assertTrue( meta.getMessage().length == 5 ); + assertTrue( meta.getMessage()[0] == -1 ); + assertTrue( meta.getMessage()[1] == 10 ); + assertTrue( meta.getMessage()[2] == 2 ); + assertTrue( meta.getMessage()[3] == 1 ); + assertTrue( meta.getMessage()[4] == 2 ); + + try { + meta.setMessage( 12, null, 0 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getLength() == 3 ); + assertTrue( meta.getStatus() == 255 ); + assertTrue( meta.getType() == 12 ); + assertTrue( meta.getData().length == 0 ); + assertTrue( meta.getMessage().length == 3 ); + assertTrue( meta.getMessage()[0] == -1 ); + assertTrue( meta.getMessage()[1] == 12 ); + assertTrue( meta.getMessage()[2] == 0 ); + + try { + meta.setMessage( 12, null, 9 ); + fail( "NullPointerException expected" ); + } catch( InvalidMidiDataException e ) { } + catch( NullPointerException e ) { } + + try { + meta.setMessage( 12, null, -9 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + } + + /** + * Test method getType() of class MetaMessage + * + */ + public void test_getType() + { + MetaMessage meta = new MetaMessage(); + assertTrue( meta.getType() == 0 ); + + MetaMessage1 meta2 = new MetaMessage1( new byte[] { 9, -4, 34, 18 } ); + assertTrue( meta2.getType() == 252 ); + + try { + meta.setMessage( 10, new byte[] { 1, 2, 3, 4 }, 4 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getType() == 10 ); + + try { + meta.setMessage( 27, null, 0 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getType() == 27 ); + } + + /** + * Test method getData() of class MetaMessage + * + */ + public void test_getData() + { + MetaMessage meta = new MetaMessage(); + assertTrue( meta.getData().length == 0 ); + + MetaMessage1 meta1 = new MetaMessage1( new byte[] { 18, 43, 27, -90, 4 } ); + assertTrue( meta1.getData().length == 2 ); + assertTrue( meta1.getData()[0] == -90 ); + assertTrue( meta1.getData()[1] == 4 ); + + MetaMessage1 meta2 = new MetaMessage1( new byte[] { 18, 43, 27 } ); + assertTrue( meta2.getData().length == 0 ); + + try { + meta.setMessage( 10, new byte[] { 1, 2, 3, 4 }, 4 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getData().length == 4 ); + assertTrue( meta.getData()[0] == 1 ); + assertTrue( meta.getData()[1] == 2 ); + assertTrue( meta.getData()[2] == 3 ); + assertTrue( meta.getData()[3] == 4 ); + + try { + meta.setMessage( 12, null, 0 ); + } catch( InvalidMidiDataException e ) { } + assertTrue( meta.getData().length == 0 ); + + try { + meta.setMessage( 12, null, 0 ); + int i = meta.getData()[0]; + fail( "IndexOutOfBoundsException expected" ); + } catch( InvalidMidiDataException e ) { } + catch( IndexOutOfBoundsException e ) { } + + try { + meta.setMessage( 12, null, 9 ); + fail( "NullPointerException expected" ); + } catch( InvalidMidiDataException e ) { } + catch( NullPointerException e ) { } + + try { + meta.setMessage( 12, null, -9 ); + fail( "InvalidMidiDataException expected" ); + } catch( InvalidMidiDataException e ) { } + + } + + /** + * Test method clone() of class MetaMessage. + */ + public void test_clone1() + { + MetaMessage meta = new MetaMessage(); + assertTrue( meta.clone() != meta ); + assertTrue( meta.clone().getClass() == meta.getClass() ); + MetaMessage tmeta; + tmeta = (MetaMessage)meta.clone(); + assertTrue( meta.getLength() == tmeta.getLength() ); + assertTrue( meta.getMessage().length == tmeta.getMessage().length ); + assertTrue( meta.getData().length == tmeta.getData().length ); + if( meta.getData().length != 0 ) + { + for( int i = 0; i < meta.getData().length; i++ ) + { + assertTrue( meta.getData()[i] == tmeta.getData()[i] ); + } + } + if( meta.getMessage().length != 0 ) + { + for( int i = 0; i < meta.getMessage().length; i++ ) + { + assertTrue( meta.getMessage()[i] == tmeta.getMessage()[i] ); + } + } + } + + /** + * Test method clone() of class MetaMessage. + */ + public void test_clone2() + { + MetaMessage meta = new MetaMessage(); + try { + meta.setMessage( 23, new byte[] { 23, 45, -90 }, 2 ); + } catch( InvalidMidiDataException e ) { }; + assertTrue( meta.clone() != meta ); + assertTrue( meta.clone().getClass() == meta.getClass() ); + MetaMessage tmeta; + tmeta = (MetaMessage)meta.clone(); + assertTrue( meta.getLength() == tmeta.getLength() ); + assertTrue( meta.getMessage().length == tmeta.getMessage().length ); + assertTrue( meta.getData().length == tmeta.getData().length ); + if( meta.getData().length != 0 ) + { + for( int i = 0; i < meta.getData().length; i++ ) + { + assertTrue( meta.getData()[i] == tmeta.getData()[i] ); + } + } + if( meta.getMessage().length != 0 ) + { + for( int i = 0; i < meta.getMessage().length; i++ ) + { + assertTrue( meta.getMessage()[i] == tmeta.getMessage()[i] ); + } + } + } + + /** + * Test method clone() of class MetaMessage. + */ + public void test_clone3() + { + MetaMessage meta = new MetaMessage(); + try { + meta.setMessage( 23, null, 0 ); + } catch( InvalidMidiDataException e ) { }; + assertTrue( meta.clone() != meta ); + assertTrue( meta.clone().getClass() == meta.getClass() ); + MetaMessage tmeta; + tmeta = (MetaMessage)meta.clone(); + assertTrue( meta.getLength() == tmeta.getLength() ); + assertTrue( meta.getMessage().length == tmeta.getMessage().length ); + assertTrue( meta.getData().length == tmeta.getData().length ); + if( meta.getData().length != 0 ) + { + for( int i = 0; i < meta.getData().length; i++ ) + { + assertTrue( meta.getData()[i] == tmeta.getData()[i] ); + } + } + if( meta.getMessage().length != 0 ) + { + for( int i = 0; i < meta.getMessage().length; i++ ) + { + assertTrue( meta.getMessage()[i] == tmeta.getMessage()[i] ); + } + } + } +} + + + + + + + + + + + Index: modules/sound/src/test/java/tests/javax/sound/midi/SoundbankResourceTest.java =================================================================== --- modules/sound/src/test/java/tests/javax/sound/midi/SoundbankResourceTest.java (revision 0) +++ modules/sound/src/test/java/tests/javax/sound/midi/SoundbankResourceTest.java (revision 0) @@ -0,0 +1,69 @@ +/* + * Copyright 2006 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @author Evgeny S. Sidorenko + */ + +package tests.javax.sound.midi; + +import javax.sound.midi.Soundbank; +import javax.sound.midi.SoundbankResource; + +import junit.framework.TestCase; + +/** + * Subsidiary class in order to use constructor + * of class Instrument, because it declared as protected + */ +class SoundbankResource1 extends SoundbankResource +{ + SoundbankResource1( Soundbank soundbank, String name, Class dataClass ) + { + super( soundbank, name, dataClass ); + } + + public Object getData() + { + return null; + } +} +public class SoundbankResourceTest extends TestCase +{ + /** + * test method getName() of class SoundbankResource + * + */ + public void test_getName() + { + + SoundbankResource1 sound = new SoundbankResource1( null, null, null ); + assertTrue( sound.getName() == null ); + + SoundbankResource1 sound1 = new SoundbankResource1( null, "Test", null ); + assertTrue( sound1.getName().equals( "Test" ) ); + } + + /** + * test method getDataClass() of class SoundbankResource + * + */ + public void test_getDataClass() + { + SoundbankResource1 sound = new SoundbankResource1( null, null, null ); + assertTrue( sound.getDataClass() == null ); + } +}