[Multimedia][Non-ACR] Add negative TCs 43/241943/6
authorHaesu Gwon <haesu.gwon@samsung.com>
Fri, 21 Aug 2020 04:27:18 +0000 (13:27 +0900)
committerHaesu Gwon <haesu.gwon@samsung.com>
Mon, 24 Aug 2020 01:45:14 +0000 (01:45 +0000)
- Added negative TCs
- Moved Manual TCs to each module directory

Change-Id: I0679851098f8ce0b0736fa2ec79fceb1a4af8f57

25 files changed:
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSTonePlayer.cs [new file with mode: 0644]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/AudioIO/TSWavPlayer.cs [new file with mode: 0644]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDevice.cs [new file with mode: 0755]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceConnectionChangedEventArgs.cs [new file with mode: 0755]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioDeviceStateChangedEventArgs.cs [new file with mode: 0755]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSAudioManager.cs [new file with mode: 0755]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Multimedia/TSDisplay.cs [new file with mode: 0755]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Player/TSPlayer.cs [new file with mode: 0644]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/Radio/TSRadio.cs [new file with mode: 0644]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDevice.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceConnectionChangedEventArgs.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioDeviceStateChangedEventArgs.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSAudioManager.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSDisplay.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSPlayer.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSRadio.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSSubtitle.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSTonePlayer.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Manual.Tests/testcase/TSWavPlayer.cs [deleted file]
tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioDucking.cs
tct-suite-vs/Tizen.Multimedia.Tests/testcase/AudioManager/TSAudioStreamPolicy.cs
tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSAudioMediaFormat.cs
tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacket.cs
tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacketVideoPlane.cs
tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSVideoMediaFormat.cs

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 (file)
index 0000000..b72cf58
--- /dev/null
@@ -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 (file)
index 0000000..4042cb3
--- /dev/null
@@ -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 (executable)
index 0000000..0289466
--- /dev/null
@@ -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<bool>("tizen.org/feature/network.bluetooth.audio.media", out _isBluetoothAvailable);
+
+            Log.Info(LogTag, "Bluetooth available : " + _isBluetoothAvailable);
+        }
+
+        private void AssertDevice(Func<AudioDevice, bool> 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 (executable)
index 0000000..f40de8c
--- /dev/null
@@ -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<AudioDeviceConnectionChangedEventArgs> 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<AudioDeviceConnectionChangedEventArgs> 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 (executable)
index 0000000..ea0382e
--- /dev/null
@@ -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<AudioDeviceStateChangedEventArgs> 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<AudioDeviceStateChangedEventArgs> 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 (executable)
index 0000000..ea5c6f3
--- /dev/null
@@ -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<AudioDeviceConnectionChangedEventArgs> 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<AudioDeviceStateChangedEventArgs> 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 (executable)
index 0000000..7757490
--- /dev/null
@@ -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 (file)
index 0000000..7b02a50
--- /dev/null
@@ -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 (file)
index 0000000..6f82e81
--- /dev/null
@@ -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<int>();
+            var tcs = new TaskCompletionSource<bool>();
+
+            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<bool>();
+
+            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 (executable)
index 0289466..0000000
+++ /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<bool>("tizen.org/feature/network.bluetooth.audio.media", out _isBluetoothAvailable);
-
-            Log.Info(LogTag, "Bluetooth available : " + _isBluetoothAvailable);
-        }
-
-        private void AssertDevice(Func<AudioDevice, bool> 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 (executable)
index f40de8c..0000000
+++ /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<AudioDeviceConnectionChangedEventArgs> 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<AudioDeviceConnectionChangedEventArgs> 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 (executable)
index ea0382e..0000000
+++ /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<AudioDeviceStateChangedEventArgs> 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<AudioDeviceStateChangedEventArgs> 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 (executable)
index ea5c6f3..0000000
+++ /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<AudioDeviceConnectionChangedEventArgs> 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<AudioDeviceStateChangedEventArgs> 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 (executable)
index 7757490..0000000
+++ /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 (file)
index 7b02a50..0000000
+++ /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 (file)
index 6f82e81..0000000
+++ /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<int>();
-            var tcs = new TaskCompletionSource<bool>();
-
-            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<bool>();
-
-            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 (executable)
index bad3c0f..0000000
+++ /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 (file)
index b72cf58..0000000
+++ /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 (file)
index 4042cb3..0000000
+++ /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();
-        }
-    }
-}
index a4dc1a643f9790ace63932d017fef20b6a2c14ad..28c07a790f4edfa96fc6eba73263633fe825c219 100644 (file)
@@ -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<ArgumentException>());
         }
 
+        [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<ArgumentException>());
+        }
+
         [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<ObjectDisposedException>());
+        }
+
         [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<ObjectDisposedException>());
+        }
+
         [Test]
         [Category("P2")]
         [Description("Activate ducking with invalid argument 1")]
@@ -154,6 +194,20 @@ namespace Tizen.Multimedia.Tests
             Assert.That(() => _ducking.Deactivate(), Throws.TypeOf<InvalidOperationException>());
         }
 
+        [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<ObjectDisposedException>());
+        }
+
         [Test]
         [Category("P1")]
         [Description("Check whether event is raised when ducking state is changed")]
index e89abd1eb41fdba3864a8d13f4c5d75594c6a0e5..b87f3ef420649d50e4c169b27f972213de245a92 100644 (file)
@@ -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<ArgumentException>(() =>
+                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<ArgumentException>(() =>
+                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<ObjectDisposedException>());
+        }
+
+        [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<ObjectDisposedException>());
+        }
+
+        [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<ObjectDisposedException>());
+        }
+
+        [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<ObjectDisposedException>());
+        }
+
+        [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<ObjectDisposedException>());
+        }
+
+        [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<ObjectDisposedException>());
+        }
+
+        [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<ObjectDisposedException>());
+        }
+
+        [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<ObjectDisposedException>());
         }
 
index 694160aa64784f72fc65deabc6d9e9e2b7292c8a..3b6c51bcae07b3529c7ad2ee7620cd867ebd7f67 100644 (file)
@@ -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<ArgumentOutOfRangeException>(
                 () => 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<ArgumentOutOfRangeException>(
                 () => 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<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
         [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<MediaFormatAudioChannelPosition>()
@@ -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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
         [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<MediaFormatAudioChannelPosition>()
@@ -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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => 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<Tizen.Multimedia.MediaFormatAudioChannelPosition>")]
+        [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>()
+            {
+                MediaFormatAudioChannelPosition.FrontLeft, MediaFormatAudioChannelPosition.FrontRight
+            };
 
             Assert.Throws<ArgumentOutOfRangeException>(
                 () => new AudioMediaFormat(
index 408248141c5f21c0f4b603d33554a7a6cd074ab1..15981cb2f635dfa00f4551a64fedaad8101c9803 100644 (file)
@@ -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<ArgumentException>(() => packet.Rotation = (Rotation)(-1));
-
                 Assert.Throws<ArgumentException>(() => 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<ArgumentException>(() => 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<ArgumentException>(() => packet.Flip = (Flips)(-1));
-
                 Assert.Throws<ArgumentException>(() => 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<ArgumentException>(() => packet.Flip = (Flips)(-1));
+            }
+        }
     }
 }
index da97f80366b71911457bdb370ff330075f0561d6..03013aeb37b662b688a16b74eaf794faffc1e343 100644 (file)
@@ -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<ObjectDisposedException>(
                 () => { 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<ObjectDisposedException>(
                 () => { 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<ObjectDisposedException>(
                 () => { var height = videoPlane.StrideHeight; });
index 10b4d64567dedf8fa3cd2814b2a595631b586314..4de0dcf91d770a7046d40a642d1086d39e4651aa 100644 (file)
@@ -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<ArgumentOutOfRangeException>());
+        }
 
+        [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,