From: Haesu Gwon Date: Fri, 21 Aug 2020 04:27:18 +0000 (+0900) Subject: [Multimedia][Non-ACR] Add negative TCs X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2689a9f0c359047415e513f9a3ed9e2a0741dfbe;p=test%2Ftct%2Fcsharp%2Fapi.git [Multimedia][Non-ACR] Add negative TCs - Added negative TCs - Moved Manual TCs to each module directory Change-Id: I0679851098f8ce0b0736fa2ec79fceb1a4af8f57 --- diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSTonePlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSTonePlayer.cs new file mode 100644 index 000000000..b72cf5891 --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSTonePlayer.cs @@ -0,0 +1,102 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using NUnit.Framework; +using Xamarin.Forms; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.TonePlayer class")] + public class TonePlayerTests + { + private const string LogTag = "TizenTest.Multimedia.TonePlayer"; + private TestPage _testPage = TestPage.GetInstance(); + private Button _button_1; + private Button _button_2; + private CancellationTokenSource source; + + [SetUp] + public void Init() + { + } + + [TearDown] + public void Destroy() + { + } + + private void CreateButton(string str1, string str2="") + { + Device.BeginInvokeOnMainThread(() => + { + _button_1 = new Button() + { + Text = str1, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + _button_2 = new Button() + { + Text = str2, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + var layout = new StackLayout() + { + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + Orientation = StackOrientation.Horizontal, + MinimumHeightRequest = 50, + Children = { + _button_1, + _button_2 + }, + }; + _button_1.Clicked += (sender, e) => + { + using (AudioStreamPolicy streamPolicy = new AudioStreamPolicy(AudioStreamType.Media)) + { + source = new CancellationTokenSource(); + + TonePlayer.StartAsync(ToneType.AnsiRingtone, streamPolicy, -1, source.Token); + } + }; + _button_2.Clicked += (sender, e) => + { + try + { + source.Cancel(); + } + catch (Exception ex) + { + Log.Info(LogTag, "Exception " + ex.Message + " " + ex.ToString()); + } + }; + _testPage.ExecuteTC(layout); + }); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check cancel operation of StartAsync")] + [Property("SPEC", "Tizen.Multimedia.TonePlayer.StartAsync M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click start button")] + [Step(2, "Tone is played continuously, Press cancel button after 1-2 rings.")] + [Step(3, "Press pass button if playing is stopped else fail.")] + [Postcondition(1, "N/A")] + public async Task StartAsync_MANUAL_TEST_CANCEL() + { + CreateButton("Start", "Cancel"); + await ManualTest.WaitForConfirm(); + } + } +} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSWavPlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSWavPlayer.cs new file mode 100644 index 000000000..4042cb32f --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSWavPlayer.cs @@ -0,0 +1,103 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using NUnit.Framework; +using Xamarin.Forms; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.WavPlayer class")] + public class WavPlayerTests + { + private const string LogTag = "TizenTest.Multimedia.WavPlayer"; + private const string inputFilePath = "/opt/usr/home/owner/share/res/test.wav"; + private TestPage _testPage = TestPage.GetInstance(); + private Button _button_1; + private Button _button_2; + private CancellationTokenSource source; + + [SetUp] + public void Init() + { + } + + [TearDown] + public void Destroy() + { + } + + private void CreateButton(string str1, string str2="") + { + Device.BeginInvokeOnMainThread(() => + { + _button_1 = new Button() + { + Text = str1, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + _button_2 = new Button() + { + Text = str2, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + var layout = new StackLayout() + { + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + Orientation = StackOrientation.Horizontal, + MinimumHeightRequest = 50, + Children = { + _button_1, + _button_2 + }, + }; + _button_1.Clicked += (sender, e) => + { + using (AudioStreamPolicy streamPolicy = new AudioStreamPolicy(AudioStreamType.Media)) + { + source = new CancellationTokenSource(); + + WavPlayer.StartAsync(inputFilePath, streamPolicy, source.Token); + } + }; + _button_2.Clicked += (sender, e) => + { + try + { + source.Cancel(); + } + catch (Exception ex) + { + Log.Info(LogTag, "Exception " + ex.Message + " " + ex.ToString()); + } + }; + _testPage.ExecuteTC(layout); + }); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check cancel operation of StartAsync")] + [Property("SPEC", "Tizen.Multimedia.WavPlayer.StartAsync M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click start button")] + [Step(2, "After starting wait for 3-4 seconds and press cancel button.")] + [Step(3, "Press pass button if playing is stopped else fail.")] + [Postcondition(1, "N/A")] + public async Task StartAsync_MANUAL_TEST_CANCEL() + { + CreateButton("Start", "Cancel"); + await ManualTest.WaitForConfirm(); + } + } +} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDevice.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDevice.cs new file mode 100755 index 000000000..028946689 --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDevice.cs @@ -0,0 +1,166 @@ +using NUnit.Framework; +using System; +using System.Threading.Tasks; +using Tizen.System; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.AudioDevice class")] + public class AudioDeviceTests : AudioManagerTestBase + { + public const string LogTag = "TizenTest.Multimedia.AudioDevice"; + private bool _isBluetoothAvailable = true; + + [OneTimeSetUp] + public void OneTimeSetUp() + { + Log.Info(LogTag, "AudioDevice Test OneTimeInit"); + + Information.TryGetValue("tizen.org/feature/network.bluetooth.audio.media", out _isBluetoothAvailable); + + Log.Info(LogTag, "Bluetooth available : " + _isBluetoothAvailable); + } + + private void AssertDevice(Func deviceCheckFunc) + { + TestPage.GetInstance().UnlockUIButton(); + + foreach (var device in AudioManager.GetConnectedDevices()) + { + if (deviceCheckFunc(device)) + { + return; + } + } + + Assert.Fail($"The target audio device is not connected"); + } + + [Test] + [Category("P1")] + [Description("Check whether the audio device type Audio Jack can be retrieved or not")] + [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.AudioJack A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRE")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "4-Wire Ear Jack is connected")] + [Step(1, "Click run TC")] + [Step(2, "Check the result on display.")] + [Postcondition(1, "4-Wire Ear Jack is disconnected from the device")] + public async Task Type_GET_ENUM_AUDIOJACK() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + AssertDevice(device => device.Type == AudioDeviceType.AudioJack); + } + + [Test] + [Category("P1")] + [Description("Check whether the audio device type BluetoothMedia can be retrieved or not.")] + [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.BluetoothMedia A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRE")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "A2DP enabled Bluetooth device is connected")] + [Step(1, "Click run TC")] + [Step(2, "Check the result on display.")] + [Postcondition(1, "A2DP enabled Bluetooth device is disconnected from the device")] + public async Task Type_GET_ENUM_BLUETOOTHMEDIA() + { + if (_isBluetoothAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Bluetooth"); + await ManualTest.WaitForConfirm(); + return; + } + + AssertDevice(device => device.Type == AudioDeviceType.BluetoothMedia); + } + + //[Test] + [Category("P1")] + [Description("AudioDevice Type Hdmi")] + [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.Hdmi A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRE")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Step(1, "TBD")] + public async Task Type_GET_ENUM_HDMI() + { + Log.Info(LogTag, "AudioDevice Test Type starting"); + + /* TEST CODE + * Test HDMI type for AudioDevice. + */ + Assert.True(false, "[NA] Device does not have HDMI"); + Log.Info(LogTag, "AudioDevice Test Type finished"); + } + + //[Test] + [Category("P1")] + [Description("AudioDevice Type Forwarding")] + [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.Forwarding A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRE")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Step(1, "TBD")] + public async Task Type_GET_ENUM_FORWARDING() + { + Log.Info(LogTag, "AudioDevice Test Type starting"); + + /* TEST CODE + * Test Forwarding type for AudioDevice. + */ + Assert.True(false, "[NA] Fail, don't have the device to test it."); + Log.Info(LogTag, "AudioDevice Test Type finished"); + } + + //[Test] + [Category("P1")] + [Description("AudioDevice Type UsbAudio")] + [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.UsbAudio A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRE")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Step(1, "TBD")] + public async Task Type_GET_ENUM_USBAUDIO() + { + Log.Info(LogTag, "AudioDevice Test Type starting"); + /* TEST CODE + * Test Usb Audio type for AudioDevice. + */ + Assert.True(false, "[NA] Fail, don't have the device to test it."); + Log.Info(LogTag, "AudioDevice Test Type finished"); + } + + [Test] + [Category("P1")] + [Description("Check whether the IODirection for audio device type Audio Jack can be retrieved or not")] + [Property("SPEC", "Tizen.Multimedia.AudioDevice.IoDirection A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRE")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "4-Wire Ear Jack is connected")] + [Step(1, "Click run TC")] + [Step(2, "Check the result on display.")] + [Postcondition(1, "4-Wire Ear Jack is disconnected from the device")] + + public async Task IoDirection_GET_ENUM_INPUT_OUTPUT() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + AssertDevice(device => device.Type == AudioDeviceType.AudioJack && device.IoDirection == AudioDeviceIoDirection.InputAndOutput); + } + } +} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceConnectionChangedEventArgs.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceConnectionChangedEventArgs.cs new file mode 100755 index 000000000..f40de8c64 --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceConnectionChangedEventArgs.cs @@ -0,0 +1,77 @@ +using NUnit.Framework; +using System; +using System.Threading.Tasks; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.AudioDeviceConnectionChangedEventArgs class")] + public class AudioDeviceConnectionChangedEventArgsTests : AudioManagerTestBase + { + [Test] + [Category("P1")] + [Description("MANUAL TEST : Check the device connection in callback")] + [Property("SPEC", "Tizen.Multimedia.AudioDeviceConnectionChangedEventArgs.Device A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRO")] + [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] + [Precondition(1, "Ensure audio jack is disconnected from the device")] + [Step(1, "Click run TC")] + [Step(2, "Insert audio jack to the device")] + public async Task Device_PROPERTY_READ_ONLY() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + EventHandler handler = (s, e) => + { + if (e.Device.Type == AudioDeviceType.AudioJack) + { + ManualTest.Confirm(); + } + }; + + AudioManager.DeviceConnectionChanged += handler; + await ManualTest.WaitForConfirm(); + AudioManager.DeviceConnectionChanged -= handler; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Check whether audio device is connected or not.")] + [Property("SPEC", "Tizen.Multimedia.AudioDeviceConnectionChangedEventArgs.IsConnected A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRO")] + [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] + [Precondition(1, "Ensure audio jack is disconnected from the device")] + [Step(1, "Click run TC")] + [Step(2, "Insert audio jack to the device")] + public async Task IsConnected_PROPERTY_READ_ONLY() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + EventHandler handler = (s, e) => + { + if (e.IsConnected) + { + ManualTest.Confirm(); + } + }; + + AudioManager.DeviceConnectionChanged += handler; + await ManualTest.WaitForConfirm(); + AudioManager.DeviceConnectionChanged -= handler; + } + } +} + + diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceStateChangedEventArgs.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceStateChangedEventArgs.cs new file mode 100755 index 000000000..ea0382eb6 --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceStateChangedEventArgs.cs @@ -0,0 +1,85 @@ +using NUnit.Framework; +using System; +using System.Threading.Tasks; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.AudioDeviceStateChangedEventArgs class")] + public class AudioDeviceStateChangedEventArgsTests : AudioManagerTestBase + { + [Test] + [Category("P1")] + [Description("MANUAL TEST : Check audio device state changed callback is invoked with the correct device value.")] + [Property("SPEC", "Tizen.Multimedia.AudioDeviceStateChangedEventArgs.Device A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRO")] + [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] + [Precondition(1, "Ensure Audio jack is disconnected from the device")] + [Step(1, "Click run TC")] + [Step(2, "Insert Audio jack to the device")] + public async Task Device_PROPERTY_READ_ONLY() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + EventHandler handler = (s, e) => + { + if (e.Device.Type != AudioDeviceType.AudioJack) + { + return; + } + + if (e.Device.State == AudioDeviceState.Activated) + { + ManualTest.Confirm(); + } + }; + + AudioManager.DeviceStateChanged += handler; + await ManualTest.WaitForConfirm(); + AudioManager.DeviceStateChanged -= handler; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Check audio device state changed callback is invoked when audio device's state is changed.")] + [Property("SPEC", "Tizen.Multimedia.AudioDeviceStateChangedEventArgs.State A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRE")] + [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] + [Precondition(1, "Ensure Audio jack is disconnected from the device")] + [Step(1, "Click run TC")] + [Step(2, "Insert Audio jack to the device")] + public async Task State_CHECK_ENUM_STATE_WHEN_CONNECTED() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + EventHandler handler = (s, e) => + { + if (e.Device.Type != AudioDeviceType.AudioJack) + { + return; + } + + if (e.Device.State == AudioDeviceState.Activated) + { + ManualTest.Confirm(); + } + }; + + AudioManager.DeviceStateChanged += handler; + await ManualTest.WaitForConfirm(); + AudioManager.DeviceStateChanged -= handler; + } + } +} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioManager.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioManager.cs new file mode 100755 index 000000000..ea5c6f39b --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioManager.cs @@ -0,0 +1,75 @@ +using NUnit.Framework; +using System; +using System.Threading.Tasks; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.AudioManager class")] + public class AudioManagerTests : AudioManagerTestBase + { + [Test] + [Category("P1")] + [Description("MANUAL TEST : Check Device connection changed event")] + [Property("SPEC", "Tizen.Multimedia.AudioManager.DeviceConnectionChanged E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] + [Precondition(1, "Ensure audio jack is disconnected from the device")] + [Step(1, "Click run TC")] + [Step(2, "Insert audio jack to the device")] + public async Task DeviceConnectionChanged_MANUAL_CHECK_CONNECTION() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + EventHandler handler = (s, e) => + { + if (e.Device.Type == AudioDeviceType.AudioJack) + { + ManualTest.Confirm(); + } + }; + + AudioManager.DeviceConnectionChanged += handler; + await ManualTest.WaitForConfirm(); + AudioManager.DeviceConnectionChanged -= handler; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Check Device state changed event")] + [Property("SPEC", "Tizen.Multimedia.AudioManager.DeviceStateChanged E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + [Precondition(1, "Ensure audio jack is disconnected from the device")] + [Step(1, "Click run TC")] + [Step(2, "Insert audio jack to the device")] + public async Task DeviceStateChanged_MANUAL_CHECK() + { + if (IsAudioJackAvailable == false) + { + TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); + await ManualTest.WaitForConfirm(); + return; + } + + EventHandler handler = (s, e) => + { + if (e.Device.Type == AudioDeviceType.AudioJack && e.State == AudioDeviceState.Activated) + { + ManualTest.Confirm(); + } + }; + + AudioManager.DeviceStateChanged += handler; + await ManualTest.WaitForConfirm(); + AudioManager.DeviceStateChanged -= handler; + } + } +} \ No newline at end of file diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSDisplay.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSDisplay.cs new file mode 100755 index 000000000..77574908b --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSDisplay.cs @@ -0,0 +1,69 @@ +using System.Threading.Tasks; +using NUnit.Framework; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.Display class")] + public class DisplayTests + { + private const string LogTag = "TizenTest.Multimedia.Display"; + + [SetUp] + public void Init() + { + Log.Info(LogTag, "Display Test Init"); + } + + [TearDown] + public void Destroy() + { + Log.Info(LogTag, "Display Test Destroy"); + } + + //[Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check Display Mode of Player during playback")] + [Property("SPEC", "Tizen.Multimedia.Display.Mode A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC")] + [Postcondition(1, "N/A")] + public async Task Mode_MANUAL_TEST_DISPLAY() + { + Assert.True(false, "[NA] VideoView is unavailable yet."); + } + + //[Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check Display Rotation of Player")] + [Property("SPEC", "Tizen.Multimedia.Display.Rotation A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC")] + [Postcondition(1, "N/A")] + public async Task Rotation_MANUAL_TEST_DISPLAY() + { + Assert.True(false, "[NA] VideoView is unavailable yet."); + } + + //[Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check if Display is visible during playback")] + [Property("SPEC", "Tizen.Multimedia.Display.Visible A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC")] + [Postcondition(1, "N/A")] + public async Task Visible_MANUAL_TEST_DISPLAY() + { + Assert.True(false, "[NA] VideoView is unavailable yet."); + } + } +} \ No newline at end of file diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Player/TSPlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Player/TSPlayer.cs new file mode 100644 index 000000000..7b02a504e --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Player/TSPlayer.cs @@ -0,0 +1,430 @@ +using System.Threading.Tasks; +using NUnit.Framework; +using Xamarin.Forms; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.Player class")] + public class PlayerTests + { + private const string LogTag = "TizenTest.Multimedia.Player"; + private const string TestSource = "/opt/usr/home/owner/share/res/test.mp3"; + private Player _player; + private TestPage _testPage = TestPage.GetInstance(); + private Button _button_1; + private Button _button_2; + private Button _button_3; + private TestOperations _operation; + + enum TestOperations + { + Start = 1, + Pause, + Stop, + Mute, + Loop, + Volume, + } + + [SetUp] + public void Init() + { + _player = new Player(); + _player.SetSource(new MediaUriSource(TestSource)); + } + + [TearDown] + public void Destroy() + { + _player.Dispose(); + } + + private async Task StartTest(int val) + { + /** + * Step1 : click start player starts + * Step2 : Plays for 5 seconds and then stops. + */ + if (val == 1) + { + if (_player.State == PlayerState.Idle) + { + await _player.PrepareAsync(); + } + + if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) + { + _player.Start(); + } + } + } + + private async Task PauseTest(int val) + { + /** + * Step1 : click start player starts + * Step2 : click pauses player pauses + * Step3 : click resume player starts from where it paused for 5 seconds + */ + + if (val == 1) + { + if (_player.State == PlayerState.Idle) + { + await _player.PrepareAsync(); + } + + if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) + { + _player.Start(); + } + } + else if (val == 2) + { + if (_player.State == PlayerState.Playing) + { + _player.Pause(); + } + } + else if (val == 3) + { + if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) + { + _player.Start(); + } + } + } + + private async Task StopTest(int val) + { + /** + * Step1 : click start player starts + * Step2 : click stop player stops + * Step3 : click resume player starts from beginning for 5 seconds + */ + if (val == 1) + { + if (_player.State == PlayerState.Idle) + { + await _player.PrepareAsync(); + } + + if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) + { + _player.Start(); + } + } + else if (val == 2) + { + if (_player.State == PlayerState.Playing || _player.State == PlayerState.Paused) + { + _player.Stop(); + } + } + } + + private async Task MuteTest(int val) + { + /** + * Step1 : click start player starts and plays for 10 seconds and then stops. + * Step2 : click mute player is muted + * Step3 : click unmute player is unmuted + */ + if (val == 1) + { + if (_player.State == PlayerState.Idle) + { + await _player.PrepareAsync(); + } + + if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) + { + _player.Start(); + } + } + else if (val == 2) + { + _player.Muted = true; + } + else if (val == 3) + { + _player.Muted = false; + } + } + + private async Task LoopTest(int val) + { + /** + * Step1 : click start player starts and stops after 80 seconds + * Step2 : click loop music will start again after the end of music. + * Step3 : click unloop music will not start again. + */ + if(val == 1) + { + if (_player.State == PlayerState.Idle) + { + await _player.PrepareAsync(); + } + + if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) + { + _player.Start(); + } + } + if(val == 2) + { + _player.IsLooping = true; + } + if(val == 3) + { + _player.IsLooping = false; + } + } + + private async Task VolumeTest(int val) + { + /** + * Step1 : click start player starts and plays for 30 seconds + * Step2 : click +Lvol and volume will increased by 20% of left speaker. + * Step3 : click -Lvol and volume will decreased by 20% of left speaker. + */ + if(val == 1) + { + if (_player.State == PlayerState.Idle) + { + await _player.PrepareAsync(); + } + + if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) + { + _player.Start(); + } + } + + float volume = _player.Volume; + if(val == 2) + { + volume += 0.2f; + if(volume > 1.0f) + volume = 1.0f; + _player.Volume = volume; + } + if(val == 3) + { + volume -= 0.2f; + if(volume < 0.0f) + volume = 0.0f; ; + _player.Volume = volume; + } + } + + private async Task taskselect(int val) + { + switch(_operation) + { + case TestOperations.Start: + await StartTest(val); + break; + case TestOperations.Pause: + await PauseTest(val); + break; + case TestOperations.Stop: + await StopTest(val); + break; + case TestOperations.Mute: + await MuteTest(val); + break; + case TestOperations.Loop: + await LoopTest(val); + break; + case TestOperations.Volume: + await VolumeTest(val); + break; + } + } + + private void CreateButton(string str1, string str2="", string str3="") + { + Device.BeginInvokeOnMainThread(() => + { + _button_1 = new Button() + { + Text = str1, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.FillAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + _button_2 = new Button() + { + Text = str2, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.FillAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + _button_3 = new Button() + { + Text = str3, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.FillAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + var layout = new StackLayout() + { + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + Orientation = StackOrientation.Horizontal, + MinimumHeightRequest = 50, + Children = { + _button_1, + _button_2, + _button_3, + }, + }; + _button_1.Clicked += async (sender, e) => + { + await taskselect(1); + }; + _button_2.Clicked += async (sender, e) => + { + await taskselect(2); + }; + _button_3.Clicked += async (sender, e) => + { + await taskselect(3); + }; + + if (str2.Length == 0) + { + _button_2.IsVisible = false; + } + if (str3.Length == 0) + { + _button_3.IsVisible = false; + } + + _testPage.ExecuteTC(layout); + }); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check playback start operation")] + [Property("SPEC", "Tizen.Multimedia.Player.Start M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click S button")] + [Step(2, "Check if playback starts")] + [Postcondition(1, "N/A")] + public async Task Start_MANUAL_TEST_START() + { + _operation = TestOperations.Start; + CreateButton("S"); + await ManualTest.WaitForConfirm(); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check playback pause/resume operation")] + [Property("SPEC", "Tizen.Multimedia.Player.Pause M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click S button")] + [Step(2, "Check if playback starts")] + [Step(3, "Click P button and check if playback pauses")] + [Step(4, "Click R button and check if playback resumes")] + [Postcondition(1, "N/A")] + public async Task Pause_MANUAL_TEST_RESUME() + { + _operation = TestOperations.Pause; + CreateButton("S", "P", "R"); + await ManualTest.WaitForConfirm(); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check playback stop operation")] + [Property("SPEC", "Tizen.Multimedia.Player.Stop M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click Start button")] + [Step(2, "Check if playback starts")] + [Step(3, "Click Stop button and check if playback stops")] + [Step(4, "Click Start button and check if playback starts from beginning")] + [Postcondition(1, "N/A")] + public async Task Stop_MANUAL_TEST_STARTAGAIN() + { + _operation = TestOperations.Stop; + CreateButton("Start", "Stop"); + await ManualTest.WaitForConfirm(); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check mute operation")] + [Property("SPEC", "Tizen.Multimedia.Player.Mute A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PCST")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click S button")] + [Step(2, "Check if playback starts")] + [Step(3, "Click M button and check if player is muted")] + [Step(4, "Click UM button and check if player is unmuted")] + [Postcondition(1, "N/A")] + public async Task Mute_MANUAL_TEST() + { + _operation = TestOperations.Mute; + CreateButton("S", "M", "UM"); + await ManualTest.WaitForConfirm(); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check loop operation")] + [Property("SPEC", "Tizen.Multimedia.Player.Loop A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PCST")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click S, player starts and stops after 80 seconds")] + [Step(2, "Click L button after starting player and check if player is looping")] + [Step(3, "Click UL button and check if player is not looping")] + [Postcondition(1, "N/A")] + public async Task Loop_MANUAL_TEST() + { + _operation = TestOperations.Loop; + CreateButton("S", "L", "UL"); + await ManualTest.WaitForConfirm(); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test to check volume")] + [Property("SPEC", "Tizen.Multimedia.Player.LeftVolume A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PCST")] + [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] + [Precondition(1, "N/A")] + [Step(1, "Click run TC and click S button")] + [Step(2, "Check if playback starts")] + [Step(3, "Click Vol+ button after starting player and check if volume is increasing")] + [Step(4, "Click Vol- button and check if volume is decreasing")] + [Postcondition(1, "N/A")] + public async Task Volume_MANUAL_TEST() + { + _operation = TestOperations.Volume; + CreateButton("S", "Vol+", "Vol-"); + await ManualTest.WaitForConfirm(); + } + } +} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Radio/TSRadio.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Radio/TSRadio.cs new file mode 100644 index 000000000..6f82e81e5 --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Radio/TSRadio.cs @@ -0,0 +1,407 @@ +using NUnit.Framework; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Xamarin.Forms; + +namespace Tizen.Multimedia.Tests +{ + [TestFixture] + [Description("Testing Tizen.Multimedia.Radio class")] + public class RadioTests + { + private Radio _radio; + protected Button _button1; + protected Button _button2; + protected Button _button3; + protected Label _label; + private bool _isRadioSupported = true; + private bool _isRadioStarted; + + [SetUp] + public void SetUp() + { + try + { + _radio = new Radio(); + } + catch (NotSupportedException) when (FeatureChecker.IsSupported(Features.Radio) == false) + { + _isRadioSupported = false; + } + } + + [TearDown] + public void TearDown() + { + _radio?.Dispose(); + _button1 = _button2 = _button3 = null; + _label = null; + _isRadioStarted = false; + } + + private void OnStartClicked(object sender, EventArgs e) + { + if (!_isRadioStarted) + { + _radio.Start(); + _isRadioStarted = true; + } + } + + private void OnStopClicked(object sender, EventArgs e) + { + if (_isRadioStarted) + { + _radio.Stop(); + _isRadioStarted = false; + } + } + + private async void OnSeekUpClicked(object sender, EventArgs e) + { + if (_isRadioStarted) + { + var btn = sender as Button; + + btn.IsEnabled = false; + _label.Text = "Frequency : " + await _radio.SeekUpAsync(); + btn.IsEnabled = true; + } + } + + private async void OnSeekDownClicked(object sender, EventArgs e) + { + if (_isRadioStarted) + { + var btn = sender as Button; + + btn.IsEnabled = false; + _label.Text = "Frequency : " + await _radio.SeekDownAsync(); + btn.IsEnabled = true; + } + } + + private async void OnScanClicked(object sender, EventArgs e) + { + var btn = sender as Button; + var frequencies = new List(); + var tcs = new TaskCompletionSource(); + + btn.IsEnabled = false; + + _radio.ScanUpdated += (_, args) => frequencies.Add(args.Frequency); + _radio.ScanCompleted += (_, args) => tcs.TrySetResult(true); + _radio.StartScan(); + + await Task.WhenAny(tcs.Task, Task.Delay(10000)); + + if (tcs.Task.IsCompleted) + { + btn.IsEnabled = true; + + _label.Text = "Frequencies = " + string.Join(",", frequencies); + } + } + + private void OnMuteClicked(object sender, EventArgs e) + { + if (_isRadioStarted) + { + var btn = sender as Button; + + if (_radio.IsMuted == false) + { + _radio.IsMuted = true; + btn.Text = "Unmute"; + } + else + { + _radio.IsMuted = false; + btn.Text = "Mute"; + } + } + } + + private async Task CreateButton(string str1, string str2 = "", string str3 = "") + { + var tcs = new TaskCompletionSource(); + + Device.BeginInvokeOnMainThread(() => + { + _button1 = new Button() + { + Text = str1, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + _button2 = new Button() + { + Text = str2, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + _button3 = new Button() + { + Text = str3, + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + MinimumWidthRequest = 210, + MinimumHeightRequest = 45 + }; + _label = new Label() + { + Text = "", + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.Start, + MinimumHeightRequest = 50, + TextColor = Color.Black + }; + + var layout = new StackLayout() + { + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + Orientation = StackOrientation.Horizontal, + Children = { + _button1, + _button2, + _button3, + }, + }; + + var mainLayout = new StackLayout() + { + HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.CenterAndExpand, + Orientation = StackOrientation.Vertical, + Children = + { + layout, + _label + } + }; + + if (str2.Length == 0) + { + _button2.IsVisible = false; + } + if (str3.Length == 0) + { + _button3.IsVisible = false; + } + + TestPage.GetInstance().ExecuteTC(mainLayout); + + tcs.SetResult(true); + }); + + await tcs.Task; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test Start method of radio.")] + [Property("SPEC", "Tizen.Multimedia.Radio.Start M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "Insert headphone into AudioJack.")] + [Step(1, "Click run TC")] + [Step(2, "Press Start button to start the radio. Radio is played and you will hear noise or audio.")] + [Step(3, "Press Stop button to stop the radio.")] + [Step(3, "Press pass button if you are able to hear the noise or audio.")] + [Postcondition(1, "N/A")] + public async Task Start_MANUAL_TEST_CHECK_STATUS() + { + if (_isRadioSupported == false) + { + await NotSupportedHelper.DisplayNotSupportedLabel(nameof(Start_MANUAL_TEST_CHECK_STATUS)); + return; + } + + await CreateButton("Start", "Stop"); + + _button1.Clicked += OnStartClicked; + _button2.Clicked += OnStopClicked; + + await ManualTest.WaitForConfirm(); + + _button1.Clicked -= OnStartClicked; + _button2.Clicked -= OnStopClicked; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test Stop method of radio.")] + [Property("SPEC", "Tizen.Multimedia.Radio.Stop M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "Insert headphone into AudioJack.")] + [Step(1, "Click run TC")] + [Step(2, "Press Start button to start the radio. Radio is played and you will hear noise or audio.")] + [Step(3, "Press Stop button to stop the radio.")] + [Step(3, "Press pass button if audio is stopped after pressing Stop button.")] + [Postcondition(1, "N/A")] + public async Task Stop_MANUAL_CHECK_STATUS() + { + if (_isRadioSupported == false) + { + await NotSupportedHelper.DisplayNotSupportedLabel(nameof(Stop_MANUAL_CHECK_STATUS)); + return; + } + + await CreateButton("Start", "Stop"); + + _button1.Clicked += OnStartClicked; + _button2.Clicked += OnStopClicked; + + await ManualTest.WaitForConfirm(); + + _button1.Clicked -= OnStartClicked; + _button2.Clicked -= OnStopClicked; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test SeekUpAsync method of radio.")] + [Property("SPEC", "Tizen.Multimedia.Radio.SeekUpAsync M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "Insert headphone into AudioJack.")] + [Step(1, "Click run TC")] + [Step(2, "Press Start button to start the radio.")] + [Step(3, "Press SeekUp button to change to next higher available frequency.")] + [Step(4, "Press Stop button to stop the radio.")] + [Step(5, "Press Pass button if you were able to switch to higher frequency channel and frequency was displayed on screen.")] + [Postcondition(1, "N/A")] + public async Task SeekUpAsync_MANUAL_TEST_CHECK_STATUS() + { + if (_isRadioSupported == false) + { + await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); + return; + } + + await CreateButton("Start", "Seek Up", "Stop"); + + _button1.Clicked += OnStartClicked; + _button2.Clicked += OnSeekUpClicked; + _button3.Clicked += OnStopClicked; + + await ManualTest.WaitForConfirm(); + + _button1.Clicked -= OnStartClicked; + _button2.Clicked -= OnSeekUpClicked; + _button3.Clicked -= OnStopClicked; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test SeekDownAsync method of radio.")] + [Property("SPEC", "Tizen.Multimedia.Radio.SeekDownAsync M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "Insert headphone into AudioJack.")] + [Step(1, "Click run TC")] + [Step(2, "Press Start button to start the radio.")] + [Step(3, "Press SeekDown button to change to next lower available frequency.")] + [Step(4, "Press Stop button to stop the radio.")] + [Step(5, "Press Pass button if you were able to switch to lower frequency channel and frequency was displayed on screen.")] + [Postcondition(1, "N/A")] + public async Task SeekDownAsync_MANUAL_TEST_CHECK_STATUS() + { + if (_isRadioSupported == false) + { + await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); + return; + } + + await CreateButton("Start", "Seek Down", "Stop"); + + _button1.Clicked += OnStartClicked; + _button2.Clicked += OnSeekDownClicked; + _button3.Clicked += OnStopClicked; + + await ManualTest.WaitForConfirm(); + + _button1.Clicked -= OnStartClicked; + _button2.Clicked -= OnSeekDownClicked; + _button3.Clicked -= OnStopClicked; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test StartScan to scan available frequencies.")] + [Property("SPEC", "Tizen.Multimedia.Radio.StartScan M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "Insert headphone into AudioJack.")] + [Step(1, "Click run TC")] + [Step(2, "Press Scan button to scan the available frequencies in the region.")] + [Step(3, "After scanning is finished, the available frequencies are displayed on screen.")] + [Step(4, "Press pass button if frequencies are displayed on screen.")] + [Postcondition(1, "N/A")] + public async Task StartScan_MANUAL_TEST_CHECK_STATUS() + { + if (_isRadioSupported == false) + { + await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); + return; + } + + await CreateButton("Scan"); + + _label.LineBreakMode = LineBreakMode.WordWrap; + + _button1.Clicked += OnScanClicked; + + await ManualTest.WaitForConfirm(); + + _button1.Clicked -= OnScanClicked; + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : Test IsMuted property. Check if you are able Mute/Unmute the radio.")] + [Property("SPEC", "Tizen.Multimedia.Radio.IsMuted A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] + [Precondition(1, "Insert headphone into AudioJack.")] + [Step(1, "Click run TC")] + [Step(2, "Press Start button to start the radio.")] + [Step(3, "Press Mute button to mute the radio, similarly press Unmute button to unmute the radio.")] + [Step(4, "Press Stop button to stop the raio.")] + [Step(5, "Press Pass button if you are able to Mute/Unmute the radio.")] + [Postcondition(1, "N/A")] + public async Task IsMuted_MANUAL_TEST_PROPERTY() + { + if (_isRadioSupported == false) + { + await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); + return; + } + + await CreateButton("Start", "Mute", "Stop"); + + _button1.Clicked += OnStartClicked; + _button2.Clicked += OnMuteClicked; + _button3.Clicked += OnStopClicked; + + await ManualTest.WaitForConfirm(); + + _button1.Clicked -= OnStartClicked; + _button2.Clicked -= OnMuteClicked; + _button3.Clicked -= OnStopClicked; + } + } +} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDevice.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDevice.cs deleted file mode 100755 index 028946689..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDevice.cs +++ /dev/null @@ -1,166 +0,0 @@ -using NUnit.Framework; -using System; -using System.Threading.Tasks; -using Tizen.System; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.AudioDevice class")] - public class AudioDeviceTests : AudioManagerTestBase - { - public const string LogTag = "TizenTest.Multimedia.AudioDevice"; - private bool _isBluetoothAvailable = true; - - [OneTimeSetUp] - public void OneTimeSetUp() - { - Log.Info(LogTag, "AudioDevice Test OneTimeInit"); - - Information.TryGetValue("tizen.org/feature/network.bluetooth.audio.media", out _isBluetoothAvailable); - - Log.Info(LogTag, "Bluetooth available : " + _isBluetoothAvailable); - } - - private void AssertDevice(Func deviceCheckFunc) - { - TestPage.GetInstance().UnlockUIButton(); - - foreach (var device in AudioManager.GetConnectedDevices()) - { - if (deviceCheckFunc(device)) - { - return; - } - } - - Assert.Fail($"The target audio device is not connected"); - } - - [Test] - [Category("P1")] - [Description("Check whether the audio device type Audio Jack can be retrieved or not")] - [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.AudioJack A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRE")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "4-Wire Ear Jack is connected")] - [Step(1, "Click run TC")] - [Step(2, "Check the result on display.")] - [Postcondition(1, "4-Wire Ear Jack is disconnected from the device")] - public async Task Type_GET_ENUM_AUDIOJACK() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - AssertDevice(device => device.Type == AudioDeviceType.AudioJack); - } - - [Test] - [Category("P1")] - [Description("Check whether the audio device type BluetoothMedia can be retrieved or not.")] - [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.BluetoothMedia A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRE")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "A2DP enabled Bluetooth device is connected")] - [Step(1, "Click run TC")] - [Step(2, "Check the result on display.")] - [Postcondition(1, "A2DP enabled Bluetooth device is disconnected from the device")] - public async Task Type_GET_ENUM_BLUETOOTHMEDIA() - { - if (_isBluetoothAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Bluetooth"); - await ManualTest.WaitForConfirm(); - return; - } - - AssertDevice(device => device.Type == AudioDeviceType.BluetoothMedia); - } - - //[Test] - [Category("P1")] - [Description("AudioDevice Type Hdmi")] - [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.Hdmi A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRE")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Step(1, "TBD")] - public async Task Type_GET_ENUM_HDMI() - { - Log.Info(LogTag, "AudioDevice Test Type starting"); - - /* TEST CODE - * Test HDMI type for AudioDevice. - */ - Assert.True(false, "[NA] Device does not have HDMI"); - Log.Info(LogTag, "AudioDevice Test Type finished"); - } - - //[Test] - [Category("P1")] - [Description("AudioDevice Type Forwarding")] - [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.Forwarding A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRE")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Step(1, "TBD")] - public async Task Type_GET_ENUM_FORWARDING() - { - Log.Info(LogTag, "AudioDevice Test Type starting"); - - /* TEST CODE - * Test Forwarding type for AudioDevice. - */ - Assert.True(false, "[NA] Fail, don't have the device to test it."); - Log.Info(LogTag, "AudioDevice Test Type finished"); - } - - //[Test] - [Category("P1")] - [Description("AudioDevice Type UsbAudio")] - [Property("SPEC", "Tizen.Multimedia.AudioDevice.Type.UsbAudio A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRE")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Step(1, "TBD")] - public async Task Type_GET_ENUM_USBAUDIO() - { - Log.Info(LogTag, "AudioDevice Test Type starting"); - /* TEST CODE - * Test Usb Audio type for AudioDevice. - */ - Assert.True(false, "[NA] Fail, don't have the device to test it."); - Log.Info(LogTag, "AudioDevice Test Type finished"); - } - - [Test] - [Category("P1")] - [Description("Check whether the IODirection for audio device type Audio Jack can be retrieved or not")] - [Property("SPEC", "Tizen.Multimedia.AudioDevice.IoDirection A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRE")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "4-Wire Ear Jack is connected")] - [Step(1, "Click run TC")] - [Step(2, "Check the result on display.")] - [Postcondition(1, "4-Wire Ear Jack is disconnected from the device")] - - public async Task IoDirection_GET_ENUM_INPUT_OUTPUT() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - AssertDevice(device => device.Type == AudioDeviceType.AudioJack && device.IoDirection == AudioDeviceIoDirection.InputAndOutput); - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceConnectionChangedEventArgs.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceConnectionChangedEventArgs.cs deleted file mode 100755 index f40de8c64..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceConnectionChangedEventArgs.cs +++ /dev/null @@ -1,77 +0,0 @@ -using NUnit.Framework; -using System; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.AudioDeviceConnectionChangedEventArgs class")] - public class AudioDeviceConnectionChangedEventArgsTests : AudioManagerTestBase - { - [Test] - [Category("P1")] - [Description("MANUAL TEST : Check the device connection in callback")] - [Property("SPEC", "Tizen.Multimedia.AudioDeviceConnectionChangedEventArgs.Device A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRO")] - [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] - [Precondition(1, "Ensure audio jack is disconnected from the device")] - [Step(1, "Click run TC")] - [Step(2, "Insert audio jack to the device")] - public async Task Device_PROPERTY_READ_ONLY() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - EventHandler handler = (s, e) => - { - if (e.Device.Type == AudioDeviceType.AudioJack) - { - ManualTest.Confirm(); - } - }; - - AudioManager.DeviceConnectionChanged += handler; - await ManualTest.WaitForConfirm(); - AudioManager.DeviceConnectionChanged -= handler; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Check whether audio device is connected or not.")] - [Property("SPEC", "Tizen.Multimedia.AudioDeviceConnectionChangedEventArgs.IsConnected A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRO")] - [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] - [Precondition(1, "Ensure audio jack is disconnected from the device")] - [Step(1, "Click run TC")] - [Step(2, "Insert audio jack to the device")] - public async Task IsConnected_PROPERTY_READ_ONLY() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - EventHandler handler = (s, e) => - { - if (e.IsConnected) - { - ManualTest.Confirm(); - } - }; - - AudioManager.DeviceConnectionChanged += handler; - await ManualTest.WaitForConfirm(); - AudioManager.DeviceConnectionChanged -= handler; - } - } -} - - diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceStateChangedEventArgs.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceStateChangedEventArgs.cs deleted file mode 100755 index ea0382eb6..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceStateChangedEventArgs.cs +++ /dev/null @@ -1,85 +0,0 @@ -using NUnit.Framework; -using System; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.AudioDeviceStateChangedEventArgs class")] - public class AudioDeviceStateChangedEventArgsTests : AudioManagerTestBase - { - [Test] - [Category("P1")] - [Description("MANUAL TEST : Check audio device state changed callback is invoked with the correct device value.")] - [Property("SPEC", "Tizen.Multimedia.AudioDeviceStateChangedEventArgs.Device A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRO")] - [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] - [Precondition(1, "Ensure Audio jack is disconnected from the device")] - [Step(1, "Click run TC")] - [Step(2, "Insert Audio jack to the device")] - public async Task Device_PROPERTY_READ_ONLY() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - EventHandler handler = (s, e) => - { - if (e.Device.Type != AudioDeviceType.AudioJack) - { - return; - } - - if (e.Device.State == AudioDeviceState.Activated) - { - ManualTest.Confirm(); - } - }; - - AudioManager.DeviceStateChanged += handler; - await ManualTest.WaitForConfirm(); - AudioManager.DeviceStateChanged -= handler; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Check audio device state changed callback is invoked when audio device's state is changed.")] - [Property("SPEC", "Tizen.Multimedia.AudioDeviceStateChangedEventArgs.State A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRE")] - [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] - [Precondition(1, "Ensure Audio jack is disconnected from the device")] - [Step(1, "Click run TC")] - [Step(2, "Insert Audio jack to the device")] - public async Task State_CHECK_ENUM_STATE_WHEN_CONNECTED() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - EventHandler handler = (s, e) => - { - if (e.Device.Type != AudioDeviceType.AudioJack) - { - return; - } - - if (e.Device.State == AudioDeviceState.Activated) - { - ManualTest.Confirm(); - } - }; - - AudioManager.DeviceStateChanged += handler; - await ManualTest.WaitForConfirm(); - AudioManager.DeviceStateChanged -= handler; - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioManager.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioManager.cs deleted file mode 100755 index ea5c6f39b..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioManager.cs +++ /dev/null @@ -1,75 +0,0 @@ -using NUnit.Framework; -using System; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.AudioManager class")] - public class AudioManagerTests : AudioManagerTestBase - { - [Test] - [Category("P1")] - [Description("MANUAL TEST : Check Device connection changed event")] - [Property("SPEC", "Tizen.Multimedia.AudioManager.DeviceConnectionChanged E")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "EVL")] - [Property("AUTHOR", "Ankur Garg, ankur29.garg@samsung.com")] - [Precondition(1, "Ensure audio jack is disconnected from the device")] - [Step(1, "Click run TC")] - [Step(2, "Insert audio jack to the device")] - public async Task DeviceConnectionChanged_MANUAL_CHECK_CONNECTION() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - EventHandler handler = (s, e) => - { - if (e.Device.Type == AudioDeviceType.AudioJack) - { - ManualTest.Confirm(); - } - }; - - AudioManager.DeviceConnectionChanged += handler; - await ManualTest.WaitForConfirm(); - AudioManager.DeviceConnectionChanged -= handler; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Check Device state changed event")] - [Property("SPEC", "Tizen.Multimedia.AudioManager.DeviceStateChanged E")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "EVL")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - [Precondition(1, "Ensure audio jack is disconnected from the device")] - [Step(1, "Click run TC")] - [Step(2, "Insert audio jack to the device")] - public async Task DeviceStateChanged_MANUAL_CHECK() - { - if (IsAudioJackAvailable == false) - { - TSMultimediaHelper.DisplayNotsupportedWarning("Audio-Jack"); - await ManualTest.WaitForConfirm(); - return; - } - - EventHandler handler = (s, e) => - { - if (e.Device.Type == AudioDeviceType.AudioJack && e.State == AudioDeviceState.Activated) - { - ManualTest.Confirm(); - } - }; - - AudioManager.DeviceStateChanged += handler; - await ManualTest.WaitForConfirm(); - AudioManager.DeviceStateChanged -= handler; - } - } -} \ No newline at end of file diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSDisplay.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSDisplay.cs deleted file mode 100755 index 77574908b..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSDisplay.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System.Threading.Tasks; -using NUnit.Framework; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.Display class")] - public class DisplayTests - { - private const string LogTag = "TizenTest.Multimedia.Display"; - - [SetUp] - public void Init() - { - Log.Info(LogTag, "Display Test Init"); - } - - [TearDown] - public void Destroy() - { - Log.Info(LogTag, "Display Test Destroy"); - } - - //[Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check Display Mode of Player during playback")] - [Property("SPEC", "Tizen.Multimedia.Display.Mode A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRW")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC")] - [Postcondition(1, "N/A")] - public async Task Mode_MANUAL_TEST_DISPLAY() - { - Assert.True(false, "[NA] VideoView is unavailable yet."); - } - - //[Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check Display Rotation of Player")] - [Property("SPEC", "Tizen.Multimedia.Display.Rotation A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRW")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC")] - [Postcondition(1, "N/A")] - public async Task Rotation_MANUAL_TEST_DISPLAY() - { - Assert.True(false, "[NA] VideoView is unavailable yet."); - } - - //[Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check if Display is visible during playback")] - [Property("SPEC", "Tizen.Multimedia.Display.Visible A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRW")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC")] - [Postcondition(1, "N/A")] - public async Task Visible_MANUAL_TEST_DISPLAY() - { - Assert.True(false, "[NA] VideoView is unavailable yet."); - } - } -} \ No newline at end of file diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSPlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSPlayer.cs deleted file mode 100644 index 7b02a504e..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSPlayer.cs +++ /dev/null @@ -1,430 +0,0 @@ -using System.Threading.Tasks; -using NUnit.Framework; -using Xamarin.Forms; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.Player class")] - public class PlayerTests - { - private const string LogTag = "TizenTest.Multimedia.Player"; - private const string TestSource = "/opt/usr/home/owner/share/res/test.mp3"; - private Player _player; - private TestPage _testPage = TestPage.GetInstance(); - private Button _button_1; - private Button _button_2; - private Button _button_3; - private TestOperations _operation; - - enum TestOperations - { - Start = 1, - Pause, - Stop, - Mute, - Loop, - Volume, - } - - [SetUp] - public void Init() - { - _player = new Player(); - _player.SetSource(new MediaUriSource(TestSource)); - } - - [TearDown] - public void Destroy() - { - _player.Dispose(); - } - - private async Task StartTest(int val) - { - /** - * Step1 : click start player starts - * Step2 : Plays for 5 seconds and then stops. - */ - if (val == 1) - { - if (_player.State == PlayerState.Idle) - { - await _player.PrepareAsync(); - } - - if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) - { - _player.Start(); - } - } - } - - private async Task PauseTest(int val) - { - /** - * Step1 : click start player starts - * Step2 : click pauses player pauses - * Step3 : click resume player starts from where it paused for 5 seconds - */ - - if (val == 1) - { - if (_player.State == PlayerState.Idle) - { - await _player.PrepareAsync(); - } - - if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) - { - _player.Start(); - } - } - else if (val == 2) - { - if (_player.State == PlayerState.Playing) - { - _player.Pause(); - } - } - else if (val == 3) - { - if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) - { - _player.Start(); - } - } - } - - private async Task StopTest(int val) - { - /** - * Step1 : click start player starts - * Step2 : click stop player stops - * Step3 : click resume player starts from beginning for 5 seconds - */ - if (val == 1) - { - if (_player.State == PlayerState.Idle) - { - await _player.PrepareAsync(); - } - - if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) - { - _player.Start(); - } - } - else if (val == 2) - { - if (_player.State == PlayerState.Playing || _player.State == PlayerState.Paused) - { - _player.Stop(); - } - } - } - - private async Task MuteTest(int val) - { - /** - * Step1 : click start player starts and plays for 10 seconds and then stops. - * Step2 : click mute player is muted - * Step3 : click unmute player is unmuted - */ - if (val == 1) - { - if (_player.State == PlayerState.Idle) - { - await _player.PrepareAsync(); - } - - if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) - { - _player.Start(); - } - } - else if (val == 2) - { - _player.Muted = true; - } - else if (val == 3) - { - _player.Muted = false; - } - } - - private async Task LoopTest(int val) - { - /** - * Step1 : click start player starts and stops after 80 seconds - * Step2 : click loop music will start again after the end of music. - * Step3 : click unloop music will not start again. - */ - if(val == 1) - { - if (_player.State == PlayerState.Idle) - { - await _player.PrepareAsync(); - } - - if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) - { - _player.Start(); - } - } - if(val == 2) - { - _player.IsLooping = true; - } - if(val == 3) - { - _player.IsLooping = false; - } - } - - private async Task VolumeTest(int val) - { - /** - * Step1 : click start player starts and plays for 30 seconds - * Step2 : click +Lvol and volume will increased by 20% of left speaker. - * Step3 : click -Lvol and volume will decreased by 20% of left speaker. - */ - if(val == 1) - { - if (_player.State == PlayerState.Idle) - { - await _player.PrepareAsync(); - } - - if (_player.State == PlayerState.Ready || _player.State == PlayerState.Paused) - { - _player.Start(); - } - } - - float volume = _player.Volume; - if(val == 2) - { - volume += 0.2f; - if(volume > 1.0f) - volume = 1.0f; - _player.Volume = volume; - } - if(val == 3) - { - volume -= 0.2f; - if(volume < 0.0f) - volume = 0.0f; ; - _player.Volume = volume; - } - } - - private async Task taskselect(int val) - { - switch(_operation) - { - case TestOperations.Start: - await StartTest(val); - break; - case TestOperations.Pause: - await PauseTest(val); - break; - case TestOperations.Stop: - await StopTest(val); - break; - case TestOperations.Mute: - await MuteTest(val); - break; - case TestOperations.Loop: - await LoopTest(val); - break; - case TestOperations.Volume: - await VolumeTest(val); - break; - } - } - - private void CreateButton(string str1, string str2="", string str3="") - { - Device.BeginInvokeOnMainThread(() => - { - _button_1 = new Button() - { - Text = str1, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.FillAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - _button_2 = new Button() - { - Text = str2, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.FillAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - _button_3 = new Button() - { - Text = str3, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.FillAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - var layout = new StackLayout() - { - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - Orientation = StackOrientation.Horizontal, - MinimumHeightRequest = 50, - Children = { - _button_1, - _button_2, - _button_3, - }, - }; - _button_1.Clicked += async (sender, e) => - { - await taskselect(1); - }; - _button_2.Clicked += async (sender, e) => - { - await taskselect(2); - }; - _button_3.Clicked += async (sender, e) => - { - await taskselect(3); - }; - - if (str2.Length == 0) - { - _button_2.IsVisible = false; - } - if (str3.Length == 0) - { - _button_3.IsVisible = false; - } - - _testPage.ExecuteTC(layout); - }); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check playback start operation")] - [Property("SPEC", "Tizen.Multimedia.Player.Start M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click S button")] - [Step(2, "Check if playback starts")] - [Postcondition(1, "N/A")] - public async Task Start_MANUAL_TEST_START() - { - _operation = TestOperations.Start; - CreateButton("S"); - await ManualTest.WaitForConfirm(); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check playback pause/resume operation")] - [Property("SPEC", "Tizen.Multimedia.Player.Pause M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click S button")] - [Step(2, "Check if playback starts")] - [Step(3, "Click P button and check if playback pauses")] - [Step(4, "Click R button and check if playback resumes")] - [Postcondition(1, "N/A")] - public async Task Pause_MANUAL_TEST_RESUME() - { - _operation = TestOperations.Pause; - CreateButton("S", "P", "R"); - await ManualTest.WaitForConfirm(); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check playback stop operation")] - [Property("SPEC", "Tizen.Multimedia.Player.Stop M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click Start button")] - [Step(2, "Check if playback starts")] - [Step(3, "Click Stop button and check if playback stops")] - [Step(4, "Click Start button and check if playback starts from beginning")] - [Postcondition(1, "N/A")] - public async Task Stop_MANUAL_TEST_STARTAGAIN() - { - _operation = TestOperations.Stop; - CreateButton("Start", "Stop"); - await ManualTest.WaitForConfirm(); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check mute operation")] - [Property("SPEC", "Tizen.Multimedia.Player.Mute A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PCST")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click S button")] - [Step(2, "Check if playback starts")] - [Step(3, "Click M button and check if player is muted")] - [Step(4, "Click UM button and check if player is unmuted")] - [Postcondition(1, "N/A")] - public async Task Mute_MANUAL_TEST() - { - _operation = TestOperations.Mute; - CreateButton("S", "M", "UM"); - await ManualTest.WaitForConfirm(); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check loop operation")] - [Property("SPEC", "Tizen.Multimedia.Player.Loop A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PCST")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click S, player starts and stops after 80 seconds")] - [Step(2, "Click L button after starting player and check if player is looping")] - [Step(3, "Click UL button and check if player is not looping")] - [Postcondition(1, "N/A")] - public async Task Loop_MANUAL_TEST() - { - _operation = TestOperations.Loop; - CreateButton("S", "L", "UL"); - await ManualTest.WaitForConfirm(); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check volume")] - [Property("SPEC", "Tizen.Multimedia.Player.LeftVolume A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PCST")] - [Property("AUTHOR", "Gaurang Khanwalkar, g.khanwalkar@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click S button")] - [Step(2, "Check if playback starts")] - [Step(3, "Click Vol+ button after starting player and check if volume is increasing")] - [Step(4, "Click Vol- button and check if volume is decreasing")] - [Postcondition(1, "N/A")] - public async Task Volume_MANUAL_TEST() - { - _operation = TestOperations.Volume; - CreateButton("S", "Vol+", "Vol-"); - await ManualTest.WaitForConfirm(); - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSRadio.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSRadio.cs deleted file mode 100644 index 6f82e81e5..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSRadio.cs +++ /dev/null @@ -1,407 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Xamarin.Forms; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.Radio class")] - public class RadioTests - { - private Radio _radio; - protected Button _button1; - protected Button _button2; - protected Button _button3; - protected Label _label; - private bool _isRadioSupported = true; - private bool _isRadioStarted; - - [SetUp] - public void SetUp() - { - try - { - _radio = new Radio(); - } - catch (NotSupportedException) when (FeatureChecker.IsSupported(Features.Radio) == false) - { - _isRadioSupported = false; - } - } - - [TearDown] - public void TearDown() - { - _radio?.Dispose(); - _button1 = _button2 = _button3 = null; - _label = null; - _isRadioStarted = false; - } - - private void OnStartClicked(object sender, EventArgs e) - { - if (!_isRadioStarted) - { - _radio.Start(); - _isRadioStarted = true; - } - } - - private void OnStopClicked(object sender, EventArgs e) - { - if (_isRadioStarted) - { - _radio.Stop(); - _isRadioStarted = false; - } - } - - private async void OnSeekUpClicked(object sender, EventArgs e) - { - if (_isRadioStarted) - { - var btn = sender as Button; - - btn.IsEnabled = false; - _label.Text = "Frequency : " + await _radio.SeekUpAsync(); - btn.IsEnabled = true; - } - } - - private async void OnSeekDownClicked(object sender, EventArgs e) - { - if (_isRadioStarted) - { - var btn = sender as Button; - - btn.IsEnabled = false; - _label.Text = "Frequency : " + await _radio.SeekDownAsync(); - btn.IsEnabled = true; - } - } - - private async void OnScanClicked(object sender, EventArgs e) - { - var btn = sender as Button; - var frequencies = new List(); - var tcs = new TaskCompletionSource(); - - btn.IsEnabled = false; - - _radio.ScanUpdated += (_, args) => frequencies.Add(args.Frequency); - _radio.ScanCompleted += (_, args) => tcs.TrySetResult(true); - _radio.StartScan(); - - await Task.WhenAny(tcs.Task, Task.Delay(10000)); - - if (tcs.Task.IsCompleted) - { - btn.IsEnabled = true; - - _label.Text = "Frequencies = " + string.Join(",", frequencies); - } - } - - private void OnMuteClicked(object sender, EventArgs e) - { - if (_isRadioStarted) - { - var btn = sender as Button; - - if (_radio.IsMuted == false) - { - _radio.IsMuted = true; - btn.Text = "Unmute"; - } - else - { - _radio.IsMuted = false; - btn.Text = "Mute"; - } - } - } - - private async Task CreateButton(string str1, string str2 = "", string str3 = "") - { - var tcs = new TaskCompletionSource(); - - Device.BeginInvokeOnMainThread(() => - { - _button1 = new Button() - { - Text = str1, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - _button2 = new Button() - { - Text = str2, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - _button3 = new Button() - { - Text = str3, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - _label = new Label() - { - Text = "", - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.Start, - MinimumHeightRequest = 50, - TextColor = Color.Black - }; - - var layout = new StackLayout() - { - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - Orientation = StackOrientation.Horizontal, - Children = { - _button1, - _button2, - _button3, - }, - }; - - var mainLayout = new StackLayout() - { - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - Orientation = StackOrientation.Vertical, - Children = - { - layout, - _label - } - }; - - if (str2.Length == 0) - { - _button2.IsVisible = false; - } - if (str3.Length == 0) - { - _button3.IsVisible = false; - } - - TestPage.GetInstance().ExecuteTC(mainLayout); - - tcs.SetResult(true); - }); - - await tcs.Task; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test Start method of radio.")] - [Property("SPEC", "Tizen.Multimedia.Radio.Start M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "Insert headphone into AudioJack.")] - [Step(1, "Click run TC")] - [Step(2, "Press Start button to start the radio. Radio is played and you will hear noise or audio.")] - [Step(3, "Press Stop button to stop the radio.")] - [Step(3, "Press pass button if you are able to hear the noise or audio.")] - [Postcondition(1, "N/A")] - public async Task Start_MANUAL_TEST_CHECK_STATUS() - { - if (_isRadioSupported == false) - { - await NotSupportedHelper.DisplayNotSupportedLabel(nameof(Start_MANUAL_TEST_CHECK_STATUS)); - return; - } - - await CreateButton("Start", "Stop"); - - _button1.Clicked += OnStartClicked; - _button2.Clicked += OnStopClicked; - - await ManualTest.WaitForConfirm(); - - _button1.Clicked -= OnStartClicked; - _button2.Clicked -= OnStopClicked; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test Stop method of radio.")] - [Property("SPEC", "Tizen.Multimedia.Radio.Stop M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "Insert headphone into AudioJack.")] - [Step(1, "Click run TC")] - [Step(2, "Press Start button to start the radio. Radio is played and you will hear noise or audio.")] - [Step(3, "Press Stop button to stop the radio.")] - [Step(3, "Press pass button if audio is stopped after pressing Stop button.")] - [Postcondition(1, "N/A")] - public async Task Stop_MANUAL_CHECK_STATUS() - { - if (_isRadioSupported == false) - { - await NotSupportedHelper.DisplayNotSupportedLabel(nameof(Stop_MANUAL_CHECK_STATUS)); - return; - } - - await CreateButton("Start", "Stop"); - - _button1.Clicked += OnStartClicked; - _button2.Clicked += OnStopClicked; - - await ManualTest.WaitForConfirm(); - - _button1.Clicked -= OnStartClicked; - _button2.Clicked -= OnStopClicked; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test SeekUpAsync method of radio.")] - [Property("SPEC", "Tizen.Multimedia.Radio.SeekUpAsync M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "Insert headphone into AudioJack.")] - [Step(1, "Click run TC")] - [Step(2, "Press Start button to start the radio.")] - [Step(3, "Press SeekUp button to change to next higher available frequency.")] - [Step(4, "Press Stop button to stop the radio.")] - [Step(5, "Press Pass button if you were able to switch to higher frequency channel and frequency was displayed on screen.")] - [Postcondition(1, "N/A")] - public async Task SeekUpAsync_MANUAL_TEST_CHECK_STATUS() - { - if (_isRadioSupported == false) - { - await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); - return; - } - - await CreateButton("Start", "Seek Up", "Stop"); - - _button1.Clicked += OnStartClicked; - _button2.Clicked += OnSeekUpClicked; - _button3.Clicked += OnStopClicked; - - await ManualTest.WaitForConfirm(); - - _button1.Clicked -= OnStartClicked; - _button2.Clicked -= OnSeekUpClicked; - _button3.Clicked -= OnStopClicked; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test SeekDownAsync method of radio.")] - [Property("SPEC", "Tizen.Multimedia.Radio.SeekDownAsync M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "Insert headphone into AudioJack.")] - [Step(1, "Click run TC")] - [Step(2, "Press Start button to start the radio.")] - [Step(3, "Press SeekDown button to change to next lower available frequency.")] - [Step(4, "Press Stop button to stop the radio.")] - [Step(5, "Press Pass button if you were able to switch to lower frequency channel and frequency was displayed on screen.")] - [Postcondition(1, "N/A")] - public async Task SeekDownAsync_MANUAL_TEST_CHECK_STATUS() - { - if (_isRadioSupported == false) - { - await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); - return; - } - - await CreateButton("Start", "Seek Down", "Stop"); - - _button1.Clicked += OnStartClicked; - _button2.Clicked += OnSeekDownClicked; - _button3.Clicked += OnStopClicked; - - await ManualTest.WaitForConfirm(); - - _button1.Clicked -= OnStartClicked; - _button2.Clicked -= OnSeekDownClicked; - _button3.Clicked -= OnStopClicked; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test StartScan to scan available frequencies.")] - [Property("SPEC", "Tizen.Multimedia.Radio.StartScan M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "Insert headphone into AudioJack.")] - [Step(1, "Click run TC")] - [Step(2, "Press Scan button to scan the available frequencies in the region.")] - [Step(3, "After scanning is finished, the available frequencies are displayed on screen.")] - [Step(4, "Press pass button if frequencies are displayed on screen.")] - [Postcondition(1, "N/A")] - public async Task StartScan_MANUAL_TEST_CHECK_STATUS() - { - if (_isRadioSupported == false) - { - await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); - return; - } - - await CreateButton("Scan"); - - _label.LineBreakMode = LineBreakMode.WordWrap; - - _button1.Clicked += OnScanClicked; - - await ManualTest.WaitForConfirm(); - - _button1.Clicked -= OnScanClicked; - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test IsMuted property. Check if you are able Mute/Unmute the radio.")] - [Property("SPEC", "Tizen.Multimedia.Radio.IsMuted A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRW")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "Insert headphone into AudioJack.")] - [Step(1, "Click run TC")] - [Step(2, "Press Start button to start the radio.")] - [Step(3, "Press Mute button to mute the radio, similarly press Unmute button to unmute the radio.")] - [Step(4, "Press Stop button to stop the raio.")] - [Step(5, "Press Pass button if you are able to Mute/Unmute the radio.")] - [Postcondition(1, "N/A")] - public async Task IsMuted_MANUAL_TEST_PROPERTY() - { - if (_isRadioSupported == false) - { - await NotSupportedHelper.DisplayNotSupportedLabel(nameof(SeekUpAsync_MANUAL_TEST_CHECK_STATUS)); - return; - } - - await CreateButton("Start", "Mute", "Stop"); - - _button1.Clicked += OnStartClicked; - _button2.Clicked += OnMuteClicked; - _button3.Clicked += OnStopClicked; - - await ManualTest.WaitForConfirm(); - - _button1.Clicked -= OnStartClicked; - _button2.Clicked -= OnMuteClicked; - _button3.Clicked -= OnStopClicked; - } - } -} 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.Manual.Tests/testcase/TSTonePlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSTonePlayer.cs deleted file mode 100644 index b72cf5891..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSTonePlayer.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using NUnit.Framework; -using Xamarin.Forms; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.TonePlayer class")] - public class TonePlayerTests - { - private const string LogTag = "TizenTest.Multimedia.TonePlayer"; - private TestPage _testPage = TestPage.GetInstance(); - private Button _button_1; - private Button _button_2; - private CancellationTokenSource source; - - [SetUp] - public void Init() - { - } - - [TearDown] - public void Destroy() - { - } - - private void CreateButton(string str1, string str2="") - { - Device.BeginInvokeOnMainThread(() => - { - _button_1 = new Button() - { - Text = str1, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - _button_2 = new Button() - { - Text = str2, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - var layout = new StackLayout() - { - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - Orientation = StackOrientation.Horizontal, - MinimumHeightRequest = 50, - Children = { - _button_1, - _button_2 - }, - }; - _button_1.Clicked += (sender, e) => - { - using (AudioStreamPolicy streamPolicy = new AudioStreamPolicy(AudioStreamType.Media)) - { - source = new CancellationTokenSource(); - - TonePlayer.StartAsync(ToneType.AnsiRingtone, streamPolicy, -1, source.Token); - } - }; - _button_2.Clicked += (sender, e) => - { - try - { - source.Cancel(); - } - catch (Exception ex) - { - Log.Info(LogTag, "Exception " + ex.Message + " " + ex.ToString()); - } - }; - _testPage.ExecuteTC(layout); - }); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check cancel operation of StartAsync")] - [Property("SPEC", "Tizen.Multimedia.TonePlayer.StartAsync M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click start button")] - [Step(2, "Tone is played continuously, Press cancel button after 1-2 rings.")] - [Step(3, "Press pass button if playing is stopped else fail.")] - [Postcondition(1, "N/A")] - public async Task StartAsync_MANUAL_TEST_CANCEL() - { - CreateButton("Start", "Cancel"); - await ManualTest.WaitForConfirm(); - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSWavPlayer.cs b/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSWavPlayer.cs deleted file mode 100644 index 4042cb32f..000000000 --- a/tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSWavPlayer.cs +++ /dev/null @@ -1,103 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using NUnit.Framework; -using Xamarin.Forms; - -namespace Tizen.Multimedia.Tests -{ - [TestFixture] - [Description("Testing Tizen.Multimedia.WavPlayer class")] - public class WavPlayerTests - { - private const string LogTag = "TizenTest.Multimedia.WavPlayer"; - private const string inputFilePath = "/opt/usr/home/owner/share/res/test.wav"; - private TestPage _testPage = TestPage.GetInstance(); - private Button _button_1; - private Button _button_2; - private CancellationTokenSource source; - - [SetUp] - public void Init() - { - } - - [TearDown] - public void Destroy() - { - } - - private void CreateButton(string str1, string str2="") - { - Device.BeginInvokeOnMainThread(() => - { - _button_1 = new Button() - { - Text = str1, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - _button_2 = new Button() - { - Text = str2, - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - MinimumWidthRequest = 210, - MinimumHeightRequest = 45 - }; - var layout = new StackLayout() - { - HorizontalOptions = LayoutOptions.FillAndExpand, - VerticalOptions = LayoutOptions.CenterAndExpand, - Orientation = StackOrientation.Horizontal, - MinimumHeightRequest = 50, - Children = { - _button_1, - _button_2 - }, - }; - _button_1.Clicked += (sender, e) => - { - using (AudioStreamPolicy streamPolicy = new AudioStreamPolicy(AudioStreamType.Media)) - { - source = new CancellationTokenSource(); - - WavPlayer.StartAsync(inputFilePath, streamPolicy, source.Token); - } - }; - _button_2.Clicked += (sender, e) => - { - try - { - source.Cancel(); - } - catch (Exception ex) - { - Log.Info(LogTag, "Exception " + ex.Message + " " + ex.ToString()); - } - }; - _testPage.ExecuteTC(layout); - }); - } - - [Test] - [Category("P1")] - [Description("MANUAL TEST : Test to check cancel operation of StartAsync")] - [Property("SPEC", "Tizen.Multimedia.WavPlayer.StartAsync M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Vivek Ellur, vivek.ellur@samsung.com")] - [Precondition(1, "N/A")] - [Step(1, "Click run TC and click start button")] - [Step(2, "After starting wait for 3-4 seconds and press cancel button.")] - [Step(3, "Press pass button if playing is stopped else fail.")] - [Postcondition(1, "N/A")] - public async Task StartAsync_MANUAL_TEST_CANCEL() - { - CreateButton("Start", "Cancel"); - await ManualTest.WaitForConfirm(); - } - } -} 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,