{
private const int AudioChannel = 2;
- public async Task<AudioStreamStoringEventArgs> RaiseEvent()
- {
- var tcs = new TaskCompletionSource<AudioStreamStoringEventArgs>();
-
- AudioRecorder.AudioStreamStoring += (s, e) => tcs.TrySetResult(e);
-
- AudioRecorder.Prepare();
- AudioRecorder.Start(SavePath);
-
- return await tcs.Task;
- }
-
[Test]
[Category("P1")]
[Description("Test AudioStreamStoringEventArgs Stream property")]
[Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
public async Task Stream_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).Stream, Is.Not.Null);
+ using (var eventAwaiter = EventAwaiter<AudioStreamStoringEventArgs>.Create())
+ {
+ AudioRecorder.AudioStreamStoring += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Stream, Is.Not.Null);
+
+ AudioRecorder.AudioStreamStoring -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
public async Task Type_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).Type, Is.EqualTo(AudioSampleType.S16Le).Or.EqualTo(AudioSampleType.U8));
+ using (var eventAwaiter = EventAwaiter<AudioStreamStoringEventArgs>.Create())
+ {
+ AudioRecorder.AudioStreamStoring += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Type, Is.EqualTo(AudioSampleType.S16Le).Or.EqualTo(AudioSampleType.U8));
+
+ AudioRecorder.AudioStreamStoring -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
public async Task Channels_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).Channels, Is.EqualTo(AudioChannel));
+ using (var eventAwaiter = EventAwaiter<AudioStreamStoringEventArgs>.Create())
+ {
+ AudioRecorder.AudioStreamStoring += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Channels, Is.EqualTo(AudioChannel));
+
+ AudioRecorder.AudioStreamStoring -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
public async Task Timestamp_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).Timestamp, Is.GreaterThanOrEqualTo(0));
+ using (var eventAwaiter = EventAwaiter<AudioStreamStoringEventArgs>.Create())
+ {
+ AudioRecorder.AudioStreamStoring += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Timestamp, Is.GreaterThanOrEqualTo(0));
+
+ AudioRecorder.AudioStreamStoring -= eventAwaiter;
+ }
}
}
}
[Description("Tizen.Multimedia.MuxedStreamDeliveredEventArgs class for Audio and Video recording.")]
public class MuxedStreamDeliveredEventArgsTests : VideoRecorderTestBase
{
- private async Task<MuxedStreamDeliveredEventArgs> RaiseEvent()
- {
- using (var eventAwaiter = EventAwaiter<MuxedStreamDeliveredEventArgs>.Create())
- {
- VideoRecorder.MuxedStreamDelivered += eventAwaiter;
-
- VideoRecorder.Prepare();
- VideoRecorder.Start(SavePath);
-
- return await eventAwaiter.GetResultAsync();
- }
- }
-
[Test]
[Category("P1")]
[Description("Test MuxedStreamDeliveredEventArgs Stream property")]
[Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
public async Task Stream_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).Stream, Is.Not.Null);
+ using (var eventAwaiter = EventAwaiter<MuxedStreamDeliveredEventArgs>.Create())
+ {
+ VideoRecorder.MuxedStreamDelivered += eventAwaiter;
+
+ VideoRecorder.Prepare();
+ VideoRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Stream, Is.Not.Null);
+
+ VideoRecorder.MuxedStreamDelivered -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
public async Task Offset_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).Offset, Is.GreaterThanOrEqualTo(0));
+ using (var eventAwaiter = EventAwaiter<MuxedStreamDeliveredEventArgs>.Create())
+ {
+ VideoRecorder.MuxedStreamDelivered += eventAwaiter;
+
+ VideoRecorder.Prepare();
+ VideoRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Offset, Is.GreaterThanOrEqualTo(0));
+
+ VideoRecorder.MuxedStreamDelivered -= eventAwaiter;
+ }
}
}
}
Assert.AreEqual(RecorderState.Recording, AudioRecorder.State, "Recorder should be in recording state");
await eventWaiter.IsRaisedAsync();
+
+ AudioRecorder.AudioStreamStoring -= eventWaiter;
}
/* Test code
AudioRecorder.Start(SavePath);
await eventWaiter.IsRaisedAsync();
+
+ AudioRecorder.AudioStreamStoring -= eventWaiter;
}
/* Test code
AudioRecorder.Start(SavePath);
await eventWaiter.IsRaisedAsync();
+
+ AudioRecorder.AudioStreamStoring -= eventWaiter;
}
/* Test code
AudioRecorder.Start(SavePath);
await eventWaiter.IsRaisedAsync();
+
+ AudioRecorder.AudioStreamStoring -= eventWaiter;
}
/* Test code
AudioRecorder.Start(SavePath);
await eventWaiter.IsRaisedAsync();
+
+ AudioRecorder.AudioStreamStoring -= eventWaiter;
}
AudioRecorder.Commit();
AudioRecorder.Start(SavePath);
await eventWaiter.IsRaisedAsync();
+
+ AudioRecorder.AudioStreamStoring -= eventWaiter;
}
/* Test code
AudioRecorder.Start(SavePath);
await eventWaiter.IsRaisedAsync();
+
+ AudioRecorder.AudioStreamStoring -= eventWaiter;
}
/* Test Recording state */
[Test]
[Category("P1")]
- [Description("Test RecordingLimitReached event")]
- [Property("SPEC", "Tizen.Multimedia.Recorder.RecordingLimitReached E")]
+ [Description("Test MuxedStreamDelivered event")]
+ [Property("SPEC", "Tizen.Multimedia.Recorder.MuxedStreamDelivered E")]
[Property("SPEC_URL", "-")]
[Property("CRITERIA", "EVL")]
- [Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
- public async Task RecordingLimitReached_CHECK_EVENT()
+ [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+ public async Task MuxedStreamDelivered_CHECK_EVENT()
{
- using (var eventAwaiter = EventAwaiter<RecordingLimitReachedEventArgs>.Create())
+ using (var eventAwaiter = EventAwaiter<MuxedStreamDeliveredEventArgs>.Create())
{
- AudioRecorder.RecordingLimitReached += eventAwaiter;
-
- AudioRecorder.TimeLimit = 1;
+ AudioRecorder.MuxedStreamDelivered += eventAwaiter;
AudioRecorder.Prepare();
AudioRecorder.Start(SavePath);
Assert.That(await eventAwaiter.IsRaisedAsync(), "The event should be raised");
+
+ AudioRecorder.MuxedStreamDelivered -= eventAwaiter;
}
}
[Test]
[Category("P1")]
- [Description("Test MuxedStreamDelivered event")]
- [Property("SPEC", "Tizen.Multimedia.Recorder.MuxedStreamDelivered E")]
+ [Description("Test StateChanged event")]
+ [Property("SPEC", "Tizen.Multimedia.Recorder.StateChanged E")]
[Property("SPEC_URL", "-")]
[Property("CRITERIA", "EVL")]
- [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
- public async Task MuxedStreamDelivered_CHECK_EVENT()
+ [Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
+ public async Task StateChanged_CHECK_EVENT()
{
- using (var eventAwaiter = EventAwaiter<MuxedStreamDeliveredEventArgs>.Create())
+ using (var eventAwaiter = EventAwaiter<RecorderStateChangedEventArgs>.Create())
{
- AudioRecorder.MuxedStreamDelivered += eventAwaiter;
+ AudioRecorder.StateChanged += eventAwaiter;
AudioRecorder.Prepare();
AudioRecorder.Start(SavePath);
Assert.That(await eventAwaiter.IsRaisedAsync(), "The event should be raised");
+
+ AudioRecorder.StateChanged -= eventAwaiter;
}
}
[Test]
[Category("P1")]
- [Description("Test StateChanged event")]
- [Property("SPEC", "Tizen.Multimedia.Recorder.StateChanged E")]
+ [Description("Test RecordingLimitReached event")]
+ [Property("SPEC", "Tizen.Multimedia.Recorder.RecordingLimitReached E")]
[Property("SPEC_URL", "-")]
[Property("CRITERIA", "EVL")]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
- public async Task StateChanged_CHECK_EVENT()
+ public async Task RecordingLimitReached_CHECK_EVENT()
{
- using (var eventAwaiter = EventAwaiter<RecorderStateChangedEventArgs>.Create())
+ AudioRecorder.SizeLimit = 1;
+
+ using (var eventAwaiter = EventAwaiter<RecordingLimitReachedEventArgs>.Create())
{
- AudioRecorder.StateChanged += eventAwaiter;
+ AudioRecorder.RecordingLimitReached += eventAwaiter;
+
AudioRecorder.Prepare();
AudioRecorder.Start(SavePath);
Assert.That(await eventAwaiter.IsRaisedAsync(), "The event should be raised");
+
+ AudioRecorder.RecordingLimitReached -= eventAwaiter;
}
}
AudioRecorder.Start(SavePath);
Assert.That(await eventAwaiter.IsRaisedAsync(), "The event should be raised");
+
+ AudioRecorder.RecordingStatusChanged -= eventAwaiter;
}
}
AudioRecorder.Start(SavePath);
Assert.That(await eventAwaiter.IsRaisedAsync(), "The event should be raised");
+
+ AudioRecorder.AudioStreamStoring -= eventAwaiter;
}
}
[Description("Tizen.Multimedia.RecorderDeviceStateChangedEventArgs Tests")]
public class RecorderDeviceStateChangedEventArgsTests : AudioRecorderTestBase
{
- private async Task<RecorderDeviceStateChangedEventArgs> RaiseEvent()
- {
- using (var eventAwaiter = EventAwaiter<RecorderDeviceStateChangedEventArgs>.Create())
- {
- Recorder.DeviceStateChanged += eventAwaiter;
-
- AudioRecorder.Prepare();
- AudioRecorder.Start(SavePath);
-
- try
- {
- return await eventAwaiter.GetResultAsync();
- }
- finally
- {
- Recorder.DeviceStateChanged -= eventAwaiter;
- }
- }
- }
-
[Test]
[Category("P1")]
[Description("Test RecorderDeviceStateChangedEventArgs Type property.")]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
public async Task Type_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).Type, Is.EqualTo(RecorderType.Audio));
+ using (var eventAwaiter = EventAwaiter<RecorderDeviceStateChangedEventArgs>.Create())
+ {
+ Recorder.DeviceStateChanged += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Type, Is.EqualTo(RecorderType.Audio));
+
+ Recorder.DeviceStateChanged -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
public async Task DeviceState_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).DeviceState, Is.EqualTo(RecorderDeviceState.Recording));
+ using (var eventAwaiter = EventAwaiter<RecorderDeviceStateChangedEventArgs>.Create())
+ {
+ Recorder.DeviceStateChanged += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.DeviceState, Is.EqualTo(RecorderDeviceState.Recording));
+
+ Recorder.DeviceStateChanged -= eventAwaiter;
+ }
}
}
}
[Description("Tizen.Multimedia.RecorderStateChangedEventArgs Tests")]
public class RecorderStateChangedEventArgsTests : AudioRecorderTestBase
{
- private async Task<RecorderStateChangedEventArgs> RaiseEvent()
- {
- using (var eventAwaiter = EventAwaiter<RecorderStateChangedEventArgs>.Create())
- {
- AudioRecorder.StateChanged += eventAwaiter;
-
- AudioRecorder.Prepare();
-
- return await eventAwaiter.GetResultAsync();
- }
- }
-
[Test]
[Category("P1")]
[Description("Test RecorderStateChangedEventArgs PreviousState property.")]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
public async Task PreviousState_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).PreviousState, Is.EqualTo(RecorderState.Idle));
+ using (var eventAwaiter = EventAwaiter<RecorderStateChangedEventArgs>.Create())
+ {
+ AudioRecorder.StateChanged += eventAwaiter;
+
+ AudioRecorder.Prepare();
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.PreviousState, Is.EqualTo(RecorderState.Idle));
+
+ AudioRecorder.StateChanged -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
public async Task CurrentState_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).CurrentState, Is.EqualTo(RecorderState.Ready));
+ using (var eventAwaiter = EventAwaiter<RecorderStateChangedEventArgs>.Create())
+ {
+ AudioRecorder.StateChanged += eventAwaiter;
+
+ AudioRecorder.Prepare();
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.CurrentState, Is.EqualTo(RecorderState.Ready));
+
+ AudioRecorder.StateChanged -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
public async Task IsStateChangedByPolicy_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).IsStateChangedByPolicy, Is.False);
+ using (var eventAwaiter = EventAwaiter<RecorderStateChangedEventArgs>.Create())
+ {
+ AudioRecorder.StateChanged += eventAwaiter;
+
+ AudioRecorder.Prepare();
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.IsStateChangedByPolicy, Is.False);
+
+ AudioRecorder.StateChanged -= eventAwaiter;
+ }
}
}
}
Assert.That(() => new RecordingLimitReachedEventArgs(RecordingLimitType.Size), Throws.Nothing);
}
- private async Task<RecordingLimitReachedEventArgs> RaiseEvent()
- {
- using (var eventAwaiter = EventAwaiter<RecordingLimitReachedEventArgs>.Create())
- {
- AudioRecorder.RecordingLimitReached += eventAwaiter;
-
- AudioRecorder.Prepare();
- AudioRecorder.Start(SavePath);
-
- return await eventAwaiter.GetResultAsync();
- }
- }
-
[Test]
[Category("P1")]
[Description("Test Type property for time type.")]
{
AudioRecorder.TimeLimit = 1;
- Assert.That((await RaiseEvent()).Type, Is.EqualTo(RecordingLimitType.Time));
+ using (var eventAwaiter = EventAwaiter<RecordingLimitReachedEventArgs>.Create())
+ {
+ AudioRecorder.RecordingLimitReached += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Type, Is.EqualTo(RecordingLimitType.Time));
+
+ AudioRecorder.RecordingLimitReached -= eventAwaiter;
+ }
}
[Test]
{
AudioRecorder.SizeLimit = 1;
- Assert.That((await RaiseEvent()).Type, Is.EqualTo(RecordingLimitType.Size));
+ using (var eventAwaiter = EventAwaiter<RecordingLimitReachedEventArgs>.Create())
+ {
+ AudioRecorder.RecordingLimitReached += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.Type, Is.EqualTo(RecordingLimitType.Size));
+
+ AudioRecorder.RecordingLimitReached -= eventAwaiter;
+ }
}
}
}
Assert.That(() => new RecordingStatusChangedEventArgs(100, 100), Throws.Nothing);
}
- private async Task<RecordingStatusChangedEventArgs> RaiseEvent()
- {
- using (var eventAwaiter = EventAwaiter<RecordingStatusChangedEventArgs>.Create())
- {
- AudioRecorder.RecordingStatusChanged += eventAwaiter;
-
- AudioRecorder.Prepare();
- AudioRecorder.Start(SavePath);
-
- return await eventAwaiter.GetResultAsync();
- }
- }
-
[Test]
[Category("P1")]
[Description("Test ElapsedTime property for read only.")]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
public async Task ElapsedTime_PROPERTY_READ_ONLY()
{
- Assert.That((await RaiseEvent()).ElapsedTime, Is.GreaterThanOrEqualTo(0));
+ using (var eventAwaiter = EventAwaiter<RecordingStatusChangedEventArgs>.Create())
+ {
+ AudioRecorder.RecordingStatusChanged += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ Assert.That(result.ElapsedTime, Is.GreaterThanOrEqualTo(0));
+
+ AudioRecorder.RecordingStatusChanged -= eventAwaiter;
+ }
}
[Test]
[Property("AUTHOR", "Vivek ellur, vivek.ellur@samsung.com")]
public async Task FileSize_PROPERTY_READ_ONLY()
{
- /*
- * FileSize(Kilo Byte) can be 0, if it is smaller than 1024 byte.
- * So, If RecordingStatusChangedEventArgs event is occured, It can be considered as PASS.
- */
- Assert.That((await RaiseEvent()).FileSize, Is.GreaterThanOrEqualTo(0));
+ using (var eventAwaiter = EventAwaiter<RecordingStatusChangedEventArgs>.Create())
+ {
+ AudioRecorder.RecordingStatusChanged += eventAwaiter;
+
+ AudioRecorder.Prepare();
+ AudioRecorder.Start(SavePath);
+
+ var result = await eventAwaiter.GetResultAsync();
+
+ /*
+ * FileSize(Kilo Byte) can be 0, if it is smaller than 1024 byte.
+ * So, If RecordingStatusChangedEventArgs event is occured, It can be considered as PASS.
+ */
+ Assert.That(result.FileSize, Is.GreaterThanOrEqualTo(0));
+
+ AudioRecorder.RecordingStatusChanged -= eventAwaiter;
+ }
}
}
}
[TearDown]
public void TearDownAudioRecorderBase()
{
+ if (AudioRecorder.State == RecorderState.Recording)
+ {
+ AudioRecorder.Cancel();
+ }
+
AudioRecorder?.Dispose();
if (File.Exists(SavePath))