--- /dev/null
+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();
+ }
+ }
+}
--- /dev/null
+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();
+ }
+ }
+}
--- /dev/null
+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);
+ }
+ }
+}
--- /dev/null
+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;
+ }
+ }
+}
+
+
--- /dev/null
+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;
+ }
+ }
+}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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();
+ }
+ }
+}
--- /dev/null
+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;
+ }
+ }
+}
+++ /dev/null
-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);
- }
- }
-}
+++ /dev/null
-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;
- }
- }
-}
-
-
+++ /dev/null
-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;
- }
- }
-}
+++ /dev/null
-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
+++ /dev/null
-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
+++ /dev/null
-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();
- }
- }
-}
+++ /dev/null
-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;
- }
- }
-}
+++ /dev/null
-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.");
- }
- }
-}
+++ /dev/null
-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();
- }
- }
-}
+++ /dev/null
-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();
- }
- }
-}
[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")]
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")]
_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")]
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")]
}
}
+ [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")]
[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>());
}
[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()
[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;
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(
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(
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(
[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()
[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>()
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(
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(
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(
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(
[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>()
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(
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(
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(
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(
[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.")]
[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));
+ }
+ }
}
}
[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));
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; });
[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,
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,