From 2689a9f0c359047415e513f9a3ed9e2a0741dfbe Mon Sep 17 00:00:00 2001 From: Haesu Gwon Date: Fri, 21 Aug 2020 13:27:18 +0900 Subject: [PATCH] [Multimedia][Non-ACR] Add negative TCs - Added negative TCs - Moved Manual TCs to each module directory Change-Id: I0679851098f8ce0b0736fa2ec79fceb1a4af8f57 --- .../testcase/{ => AudioIO}/TSTonePlayer.cs | 0 .../testcase/{ => AudioIO}/TSWavPlayer.cs | 0 .../{ => Multimedia}/TSAudioDevice.cs | 0 ...TSAudioDeviceConnectionChangedEventArgs.cs | 0 .../TSAudioDeviceStateChangedEventArgs.cs | 0 .../{ => Multimedia}/TSAudioManager.cs | 0 .../testcase/{ => Multimedia}/TSDisplay.cs | 0 .../testcase/{ => Player}/TSPlayer.cs | 0 .../testcase/{ => Radio}/TSRadio.cs | 0 .../testcase/TSSubtitle.cs | 42 ---- .../testcase/AudioManager/TSAudioDucking.cs | 56 ++++- .../AudioManager/TSAudioStreamPolicy.cs | 134 +++++++++++- .../testcase/MediaTool/TSAudioMediaFormat.cs | 193 +++++++++++++++++- .../testcase/MediaTool/TSMediaPacket.cs | 38 +++- .../MediaTool/TSMediaPacketVideoPlane.cs | 38 +++- .../testcase/MediaTool/TSVideoMediaFormat.cs | 13 +- 16 files changed, 448 insertions(+), 66 deletions(-) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => AudioIO}/TSTonePlayer.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => AudioIO}/TSWavPlayer.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => Multimedia}/TSAudioDevice.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => Multimedia}/TSAudioDeviceConnectionChangedEventArgs.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => Multimedia}/TSAudioDeviceStateChangedEventArgs.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => Multimedia}/TSAudioManager.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => Multimedia}/TSDisplay.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => Player}/TSPlayer.cs (100%) rename tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/{ => Radio}/TSRadio.cs (100%) delete mode 100755 tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSSubtitle.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSTonePlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSTonePlayer.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSTonePlayer.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSTonePlayer.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSWavPlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSWavPlayer.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSWavPlayer.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSWavPlayer.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDevice.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDevice.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDevice.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDevice.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceConnectionChangedEventArgs.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceConnectionChangedEventArgs.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceConnectionChangedEventArgs.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceConnectionChangedEventArgs.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceStateChangedEventArgs.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceStateChangedEventArgs.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceStateChangedEventArgs.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceStateChangedEventArgs.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioManager.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioManager.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioManager.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioManager.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSDisplay.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSDisplay.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSDisplay.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSDisplay.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSPlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Player/TSPlayer.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSPlayer.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Player/TSPlayer.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSRadio.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Radio/TSRadio.cs similarity index 100% rename from tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSRadio.cs rename to tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Radio/TSRadio.cs diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSSubtitle.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSSubtitle.cs deleted file mode 100755 index bad3c0ff8..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSSubtitle.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Threading.Tasks; -using NUnit.Framework; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.Subtitle class")] - public class SubtitleTests - { - private const string LogTag = "TizenTest.Multimedia.Subtitle"; - - [SetUp] - public void Init() - { - Log.Info(LogTag, "Subtitle Test Init"); - } - - [TearDown] - public void Destroy() - { - Log.Info(LogTag, "Subtitle Test Destroy"); - } - - //[Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check Subtitles during playback")] - [Property("SPEC", "Tizen.Multimedia.Subtitle.Updated E")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "EVL")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC")] - [Step(2, "Click Subtitle button")] - [Step(3, "Check if Subtitles are visible")] - [Postcondition(1, "N/A")] - public async Task Updated_MANUAL_TEST_SUBTITLE() - { - Assert.True(false, "[NA] VideoView is unavailable yet."); - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioDucking.cs b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioDucking.cs index a4dc1a643..28c07a790 100644 --- a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioDucking.cs +++ b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioDucking.cs @@ -53,11 +53,23 @@ namespace Tizen.Multimedia.Tests [Property("SPEC_URL", "-")] [Property("CRITERIA", "CONSTX")] [Property("AUTHOR", "Jeongmo Yang, jm80.yang@samsung.com")] - public void AudioDucking_ARGUMENT_EXCEPTION() + public void AudioDucking_ARGUMENT_EXCEPTION_UPPER() { Assert.That(() => new AudioDucking(AudioStreamType.MediaExternalOnly + 100), Throws.TypeOf()); } + [Test] + [Category("P2")] + [Description("AudioDucking Constructor with invalid AudioStreamType")] + [Property("SPEC", "Tizen.Multimedia.AudioDucking.AudioDucking C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("AUTHOR", "Jeongmo Yang, jm80.yang@samsung.com")] + public void AudioDucking_ARGUMENT_EXCEPTION_LOWER() + { + Assert.That(() => new AudioDucking(AudioStreamType.MediaExternalOnly - 100), Throws.TypeOf()); + } + [Test] [Category("P1")] [Description("Check whether IsDucked returns expected value or not")] @@ -73,6 +85,20 @@ namespace Tizen.Multimedia.Tests Assert.IsFalse(_ducking.IsDucked, "Ducked after deactivation."); } + [Test] + [Category("P2")] + [Description("Throws If object is already disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioDucking.IsDucked A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Jeongmo Yang, jm80.yang@samsung.com")] + public void IsDucked_THROWS_IF_DISPOSED() + { + _ducking.Dispose(); + + Assert.That(() => _ducking.IsDucked, Throws.TypeOf()); + } + [Test] [Category("P1")] [Description("Activate ducking and check state")] @@ -101,6 +127,20 @@ namespace Tizen.Multimedia.Tests _ducking.Deactivate(); } + [Test] + [Category("P2")] + [Description("Throws If object is already disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioDucking.Activate M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void Activate_THROWS_IF_DISPOSED() + { + _ducking.Dispose(); + + Assert.That(() => _ducking.Activate(0, 0.5), Throws.TypeOf()); + } + [Test] [Category("P2")] [Description("Activate ducking with invalid argument 1")] @@ -154,6 +194,20 @@ namespace Tizen.Multimedia.Tests Assert.That(() => _ducking.Deactivate(), Throws.TypeOf()); } + [Test] + [Category("P2")] + [Description("Throws If object is already disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioDucking.Deactivate M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void Deactivate_THROWS_IF_DISPOSED() + { + _ducking.Dispose(); + + Assert.That(() => _ducking.Deactivate(), Throws.TypeOf()); + } + [Test] [Category("P1")] [Description("Check whether event is raised when ducking state is changed")] diff --git a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioStreamPolicy.cs b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioStreamPolicy.cs index e89abd1eb..b87f3ef42 100644 --- a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioStreamPolicy.cs +++ b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioStreamPolicy.cs @@ -45,6 +45,32 @@ namespace Tizen.Multimedia.Tests } } + [Test] + [Category("P2")] + [Description("AudioStreamPolicy Constructor")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.AudioStreamPolicy C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("AUTHOR", "Haesu GWon, haesu.gwon@samsung.com")] + public void AudioStreamPolicy_THROWS_IF_INVALID_PARAMETER_UPPER() + { + Assert.Throws(() => + new AudioStreamPolicy(AudioStreamType.MediaExternalOnly + 100)); + } + + [Test] + [Category("P2")] + [Description("AudioStreamPolicy Constructor")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.AudioStreamPolicy C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioStreamPolicy_THROWS_IF_INVALID_PARAMETER_LOWER() + { + Assert.Throws(() => + new AudioStreamPolicy(AudioStreamType.Media - 100)); + } + [Test] [Category("P1")] [Description("StreamPolicy VolumeType Return type")] @@ -648,23 +674,121 @@ namespace Tizen.Multimedia.Tests [Test] [Category("P2")] - [Description("Throws when access to methods and properties after disposed")] - [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.Dispose M")] + [Description("Throws when access to RecordingFocusState after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.RecordingFocusState A")] [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MEX")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public void Dispose_CHECK() + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void RecordingFocusState_THROWS_IF_DISPOSED() { AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); asp.Dispose(); Assert.That(() => asp.RecordingFocusState, Throws.TypeOf()); + } + + [Test] + [Category("P2")] + [Description("Throws when access to PlaybackFocusState after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.PlaybackFocusState A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void PlaybackFocusState_THROWS_IF_DISPOSED() + { + AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); + asp.Dispose(); + Assert.That(() => asp.PlaybackFocusState, Throws.TypeOf()); + } + + [Test] + [Category("P2")] + [Description("Throws when access to VolumeType after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.VolumeType A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void VolumeType_THROWS_IF_DISPOSED() + { + AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); + asp.Dispose(); + Assert.That(() => asp.VolumeType, Throws.TypeOf()); + } + + [Test] + [Category("P2")] + [Description("Throws when access to ApplyStreamRouting after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.ApplyStreamRouting M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void ApplyStreamRouting_THROWS_IF_DISPOSED() + { + AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); + asp.Dispose(); + Assert.That(() => asp.ApplyStreamRouting(), Throws.TypeOf()); + } + + [Test] + [Category("P2")] + [Description("Throws when access to AcquireFocus after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.AcquireFocus M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AcquireFocus_THROWS_IF_DISPOSED() + { + AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); + asp.Dispose(); + Assert.That(() => asp.AcquireFocus(AudioStreamFocusOptions.Playback, 0, ""), Throws.TypeOf()); + } + + [Test] + [Category("P2")] + [Description("Throws when access to ReleaseFocus after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.ReleaseFocus M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void ReleaseFocus_THROWS_IF_DISPOSED() + { + AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); + asp.Dispose(); + Assert.That(() => asp.ReleaseFocus(AudioStreamFocusOptions.Playback, 0, ""), Throws.TypeOf()); + } + + [Test] + [Category("P2")] + [Description("Throws when access to PreferredInputDevice after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.PreferredInputDevice A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void PreferredInputDevice_THROWS_IF_DISPOSED() + { + AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); + asp.Dispose(); + Assert.That(() => asp.PreferredInputDevice, Throws.TypeOf()); + } + + [Test] + [Category("P2")] + [Description("Throws when access to PreferredOutputDevice after disposed")] + [Property("SPEC", "Tizen.Multimedia.AudioStreamPolicy.PreferredOutputDevice A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void PreferredOutputDevice_THROWS_IF_DISPOSED() + { + AudioStreamPolicy asp = new AudioStreamPolicy(AudioStreamType.Voip); + asp.Dispose(); + Assert.That(() => asp.PreferredOutputDevice, Throws.TypeOf()); } diff --git a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSAudioMediaFormat.cs b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSAudioMediaFormat.cs index 694160aa6..3b6c51bca 100644 --- a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSAudioMediaFormat.cs +++ b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSAudioMediaFormat.cs @@ -54,7 +54,7 @@ namespace Tizen.Multimedia.Tests [Description("Throw if the specified mime type is invalid")] [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] [Property("SPEC_URL", "-")] - [Property("CRITERIA", "CONSTR")] + [Property("CRITERIA", "CONSTX")] [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int")] [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] public void AudioMediaFormat_CONSTRUCTION_INVALID_MIME_TYPE() @@ -72,13 +72,13 @@ namespace Tizen.Multimedia.Tests [Test] [Category("P2")] - [Description("Throw if one of the specified parameters is invalid")] + [Description("Throw if channel parameter is invalid")] [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] [Property("SPEC_URL", "-")] - [Property("CRITERIA", "CONSTR")] + [Property("CRITERIA", "CONSTX")] [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int")] [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public void AudioMediaFormat_CONSTRUCTION_INVALID_VALUE() + public void AudioMediaFormat_CONSTRUCTION_INVALID_CHANNEL() { const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; @@ -89,6 +89,19 @@ namespace Tizen.Multimedia.Tests sampleRate: VALID_AUDIO_SAMPLE_RATE, bit: VALID_AUDIO_BIT, bitRate: VALID_AUDIO_BIT_RATE)); + } + + [Test] + [Category("P2")] + [Description("Throw if samplerate parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void AudioMediaFormat_CONSTRUCTION_INVALID_SAMPLERATE() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; Assert.Throws( () => new AudioMediaFormat( @@ -97,6 +110,19 @@ namespace Tizen.Multimedia.Tests channel: VALID_AUDIO_CHANNEL, bit: VALID_AUDIO_BIT, bitRate: VALID_AUDIO_BIT_RATE)); + } + + [Test] + [Category("P2")] + [Description("Throw if bit parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void AudioMediaFormat_CONSTRUCTION_INVALID_BIT() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; Assert.Throws( () => new AudioMediaFormat( @@ -105,6 +131,19 @@ namespace Tizen.Multimedia.Tests channel: VALID_AUDIO_CHANNEL, sampleRate: VALID_AUDIO_SAMPLE_RATE, bitRate: VALID_AUDIO_BIT_RATE)); + } + + [Test] + [Category("P2")] + [Description("Throw if bit parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void AudioMediaFormat_CONSTRUCTION_INVALID_BITRATE() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; Assert.Throws( () => new AudioMediaFormat( @@ -120,7 +159,7 @@ namespace Tizen.Multimedia.Tests [Description("Throw if the specified aac type is not none but the mime type is a aac type")] [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] [Property("SPEC_URL", "-")] - [Property("CRITERIA", "CONSTR")] + [Property("CRITERIA", "CONSTX")] [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, MediaFormatAacType")] [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] public void AudioMediaFormat_CONSTRUCTION_THROW_IF_AAC_SPECIFIED_WITH_NOT_AAC_MIME_TYPE() @@ -192,13 +231,13 @@ namespace Tizen.Multimedia.Tests [Test] [Category("P2")] - [Description("Throws exception if one of the specified parameters is invalid")] + [Description("Throws exception if channel parameter is invalid")] [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] [Property("SPEC_URL", "-")] [Property("CRITERIA", "CONSTX")] [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, int, IList")] [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] - public void AudioMediaFormat_ChannelMap_THROWS_IF_PARAM_IS_INVALID() + public void AudioMediaFormat_ChannelMap_THROWS_IF_PARAM_IS_INVALID_CHANNEL() { const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Pcm; var channelMap = new List() @@ -215,6 +254,23 @@ namespace Tizen.Multimedia.Tests bitRate: VALID_PCM_AUDIO_BIT_RATE, bitDepth: VALID_PCM_AUDIO_BIT_DEPTH, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if samplerate parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_THROWS_IF_PARAM_IS_INVALID_SAMPLERATE() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Pcm; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( @@ -225,6 +281,23 @@ namespace Tizen.Multimedia.Tests bitRate: VALID_PCM_AUDIO_BIT_RATE, bitDepth: VALID_PCM_AUDIO_BIT_DEPTH, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if bit parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_THROWS_IF_PARAM_IS_INVALID_BIT() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Pcm; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( @@ -235,6 +308,23 @@ namespace Tizen.Multimedia.Tests bitRate: VALID_PCM_AUDIO_BIT_RATE, bitDepth: VALID_PCM_AUDIO_BIT_DEPTH, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if bitrate parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_THROWS_IF_PARAM_IS_INVALID_BITRATE() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Pcm; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( @@ -245,6 +335,23 @@ namespace Tizen.Multimedia.Tests channel: VALID_PCM_AUDIO_CHANNEL, bitDepth: VALID_PCM_AUDIO_BIT_DEPTH, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if one of the specified parameters is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_THROWS_IF_PARAM_IS_INVALID_BITDEPTH() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Pcm; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( @@ -362,13 +469,13 @@ namespace Tizen.Multimedia.Tests [Test] [Category("P2")] - [Description("Throws exception if one of the specified parameters is invalid")] + [Description("Throws exception if channel parameter is invalid")] [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] [Property("SPEC_URL", "-")] [Property("CRITERIA", "CONSTX")] [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, MediaFormatAacType, int, IList")] [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] - public void AudioMediaFormat_ChannelMap_AAC_THROWS_IF_PARAM_IS_INVALID() + public void AudioMediaFormat_ChannelMap_AAC_THROWS_IF_PARAM_IS_INVALID_CHANNEL() { const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; var channelMap = new List() @@ -386,6 +493,23 @@ namespace Tizen.Multimedia.Tests bitDepth: VALID_AUDIO_BIT_DEPTH, aacType: MediaFormatAacType.Adif, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if samplerate parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, MediaFormatAacType, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_AAC_THROWS_IF_PARAM_IS_INVALID_SAMPLERATE() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( @@ -397,6 +521,23 @@ namespace Tizen.Multimedia.Tests bitDepth: VALID_AUDIO_BIT_DEPTH, aacType: MediaFormatAacType.Adif, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if bit parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, MediaFormatAacType, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_AAC_THROWS_IF_PARAM_IS_INVALID_BIT() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( @@ -407,6 +548,23 @@ namespace Tizen.Multimedia.Tests bitRate: VALID_AUDIO_BIT_RATE, bitDepth: VALID_AUDIO_BIT_DEPTH, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if bitrate parameter is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, MediaFormatAacType, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_AAC_THROWS_IF_PARAM_IS_INVALID_BITRATE() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( @@ -418,6 +576,23 @@ namespace Tizen.Multimedia.Tests bitDepth: VALID_AUDIO_BIT_DEPTH, aacType: MediaFormatAacType.Adif, audioChannelMap: channelMap)); + } + + [Test] + [Category("P2")] + [Description("Throws exception if bitdepth parameters is invalid")] + [Property("SPEC", "Tizen.Multimedia.AudioMediaFormat.AudioMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatAudioMimeType, int, int, int, int, MediaFormatAacType, int, IList")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void AudioMediaFormat_ChannelMap_AAC_THROWS_IF_PARAM_IS_INVALID_BITDEPTH() + { + const MediaFormatAudioMimeType mimeType = MediaFormatAudioMimeType.Aac; + var channelMap = new List() + { + MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight + }; Assert.Throws( () => new AudioMediaFormat( diff --git a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacket.cs b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacket.cs index 408248141..15981cb2f 100644 --- a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacket.cs +++ b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacket.cs @@ -413,16 +413,29 @@ namespace Tizen.Multimedia.Tests [Property("SPEC_URL", "-")] [Property("CRITERIA", "PEX")] [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] - public void Rotation_CHECK_EXCEPTION() + public void Rotation_CHECK_EXCEPTION_UPPER() { using (MediaPacket packet = MediaPacket.Create(SimpleFormat)) { - Assert.Throws(() => packet.Rotation = (Rotation)(-1)); - Assert.Throws(() => packet.Rotation = (Rotation)4); } } + [Test] + [Category("P2")] + [Description("Test whether Argument exception is thrown when invalid argument is set.")] + [Property("SPEC", "Tizen.Multimedia.MediaPacket.Rotation A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void Rotation_CHECK_EXCEPTION_LOWER() + { + using (MediaPacket packet = MediaPacket.Create(SimpleFormat)) + { + Assert.Throws(() => packet.Rotation = (Rotation)(-1)); + } + } + [Test] [Category("P1")] [Description("Test all available flip enums.")] @@ -449,14 +462,27 @@ namespace Tizen.Multimedia.Tests [Property("SPEC_URL", "-")] [Property("CRITERIA", "PEX")] [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] - public void Flip_CHECK_EXCEPTION() + public void Flip_CHECK_EXCEPTION_UPPER() { using (MediaPacket packet = MediaPacket.Create(SimpleFormat)) { - Assert.Throws(() => packet.Flip = (Flips)(-1)); - Assert.Throws(() => packet.Flip = (Flips)3); } } + + [Test] + [Category("P2")] + [Description("Test whether Argument exception is thrown when invalid argument is set.")] + [Property("SPEC", "Tizen.Multimedia.MediaPacket.Flip A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void Flip_CHECK_EXCEPTION_LOWER() + { + using (MediaPacket packet = MediaPacket.Create(SimpleFormat)) + { + Assert.Throws(() => packet.Flip = (Flips)(-1)); + } + } } } diff --git a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacketVideoPlane.cs b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacketVideoPlane.cs index da97f8036..03013aeb3 100644 --- a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacketVideoPlane.cs +++ b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacketVideoPlane.cs @@ -10,11 +10,11 @@ namespace Tizen.Multimedia.Tests [Test] [Category("P2")] [Description("Any operation throws if the MediaPacket that owns the buffer has been disposed of")] - [Property("SPEC", "Tizen.Multimedia.MediaPacketVideoPlane M")] + [Property("SPEC", "Tizen.Multimedia.MediaPacketVideoPlane.Buffer M")] [Property("SPEC_URL", "-")] [Property("CRITERIA", "MEX")] [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public void Disposed() + public void Buffer_THROWS_IF_DISPOSED() { MediaPacket packet = MediaPacket.Create( new VideoMediaFormat(MediaFormatVideoMimeType.I420, 352, 288)); @@ -25,9 +25,43 @@ namespace Tizen.Multimedia.Tests Assert.Throws( () => { var buf = videoPlane.Buffer; }); + } + + [Test] + [Category("P2")] + [Description("Any operation throws if the MediaPacket that owns the buffer has been disposed of")] + [Property("SPEC", "Tizen.Multimedia.MediaPacketVideoPlane.StrideWidth M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void StrideWidth_THROWS_IF_DISPOSED() + { + MediaPacket packet = MediaPacket.Create( + new VideoMediaFormat(MediaFormatVideoMimeType.I420, 352, 288)); + + var videoPlane = packet.VideoPlanes[0]; + + packet.Dispose(); Assert.Throws( () => { var width = videoPlane.StrideWidth; }); + } + + [Test] + [Category("P2")] + [Description("Any operation throws if the MediaPacket that owns the buffer has been disposed of")] + [Property("SPEC", "Tizen.Multimedia.MediaPacketVideoPlane.StrideHeight M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void StrideHeight_THROWS_IF_DISPOSED() + { + MediaPacket packet = MediaPacket.Create( + new VideoMediaFormat(MediaFormatVideoMimeType.I420, 352, 288)); + + var videoPlane = packet.VideoPlanes[0]; + + packet.Dispose(); Assert.Throws( () => { var height = videoPlane.StrideHeight; }); diff --git a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSVideoMediaFormat.cs b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSVideoMediaFormat.cs index 10b4d6456..4de0dcf91 100644 --- a/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSVideoMediaFormat.cs +++ b/tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSVideoMediaFormat.cs @@ -164,7 +164,7 @@ namespace Tizen.Multimedia.Tests [Property("CRITERIA", "CONSTX")] [Property("COVPARAM", "MediaFormatVideoMimeType, int, int, int, int, int")] [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] - public void VideoMediaFormat_WITH_INVALID_SIZE_WITH_VALID_OTHERS() + public void VideoMediaFormat_WITH_INVALID_WIDTH_WITH_VALID_OTHERS() { Assert.That(() => new VideoMediaFormat(MediaFormatVideoMimeType.Argb, INVALID_VIDEO_WIDTH, VALID_VIDEO_HEIGHT, @@ -172,7 +172,18 @@ namespace Tizen.Multimedia.Tests VALID_VIDEO_BIT_RATE, VALID_VIDEO_MAX_BPS), Throws.TypeOf()); + } + [Test] + [Category("P2")] + [Description("Throw if one of the specified parameters is invalid")] + [Property("SPEC", "Tizen.Multimedia.VideoMediaFormat.VideoMediaFormat C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTX")] + [Property("COVPARAM", "MediaFormatVideoMimeType, int, int, int, int, int")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void VideoMediaFormat_WITH_INVALID_HEIGHT_WITH_VALID_OTHERS() + { Assert.That(() => new VideoMediaFormat(MediaFormatVideoMimeType.Argb, VALID_VIDEO_WIDTH, INVALID_VIDEO_HEIGHT, VALID_VIDEO_FRAME_RATE, -- 2.34.1