[TCSACR-489][Multimedia] Add new Create API to support increasing ref count 84/277384/1
authorHaesu Gwon <haesu.gwon@samsung.com>
Wed, 6 Jul 2022 05:00:27 +0000 (14:00 +0900)
committerHaesu Gwon <haesu.gwon@samsung.com>
Wed, 6 Jul 2022 05:00:27 +0000 (14:00 +0900)
Change-Id: Ia8f9392eae17aa1056e6b16e3c5bb2bbfc54934b

tct-suite-vs/Tizen.Multimedia.Tests/testcase/MediaTool/TSMediaPacket.cs

index 15981cb..80c6f9d 100644 (file)
@@ -14,6 +14,82 @@ namespace Tizen.Multimedia.Tests
         private ulong _maxBpsDefault = ulong.MaxValue;
 
         [Test]
+        [Category("P1")]
+        [Description("Test Create whether throws exception or not.")]
+        [Property("SPEC", "Tizen.Multimedia.MediaPacket.Create M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "MediaFormat")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Create_CHECK_CREATE_WITH_MEDIAFORMAT()
+        {
+            try
+            {
+                MediaPacket packet = MediaPacket.Create(SimpleFormat);
+                packet.Dispose();
+            }
+            catch
+            {
+                Assert.Fail("Should not throw exception");
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test Create whether throws exception or not.")]
+        [Property("SPEC", "Tizen.Multimedia.MediaPacket.Create M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "MediaPacket")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Create_CHECK_CREATE_WITH_MEDIAPACKET()
+        {
+            MediaPacket packet1 = MediaPacket.Create(SimpleFormat);
+
+            try
+            {
+                MediaPacket packet2 = MediaPacket.Create(packet1);
+                packet2.Dispose();
+            }
+            catch
+            {
+                Assert.Fail("Should not throw exception");
+            }
+            finally
+            {
+                packet1.Dispose();
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test Create whether packets are disposed independently.")]
+        [Property("SPEC", "Tizen.Multimedia.MediaPacket.Create M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "MediaPacket")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Create_CHECK_INDEPENDENT_DISPOSE()
+        {
+            MediaPacket packet1 = MediaPacket.Create(SimpleFormat);
+            MediaPacket packet2 = MediaPacket.Create(packet1);
+
+            packet1.Dispose();
+
+            try
+            {
+                Assert.Throws<ObjectDisposedException>(() => { var v = packet1.Format; });
+
+                Assert.That(() => packet2.Format.Type == MediaFormatType.Audio,
+                    "Should not throw exception even if packet1 is already disposed");
+            }
+            finally
+            {
+                packet2.Dispose();
+            }
+        }
+
+        [Test]
         [Category("P2")]
         [Description("Throw a parameter is null when creating MediaPacket")]
         [Property("SPEC", "Tizen.Multimedia.MediaPacket.Create M")]
@@ -23,7 +99,7 @@ namespace Tizen.Multimedia.Tests
         public void Create_NULL_MEDIA_FORMAT()
         {
             Assert.Throws<ArgumentNullException>(
-                () => MediaPacket.Create(null));
+                () => MediaPacket.Create((MediaFormat)null));
         }
 
         [Test]