[Camera][TCSACR-538] Add new camera setting APIs 23/292023/2
authorHaesu Gwon <haesu.gwon@samsung.com>
Wed, 26 Apr 2023 08:25:02 +0000 (17:25 +0900)
committerHaesu Gwon <haesu.gwon@samsung.com>
Wed, 26 Apr 2023 23:17:30 +0000 (08:17 +0900)
Change-Id: I42c90d2d3555b9083684e8a2f3e9234654b07305

tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraCapabilities.cs
tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraSettings.cs

index 4adfc40..587c20b 100644 (file)
@@ -229,6 +229,62 @@ namespace Tizen.Multimedia.Tests
 
         [Test]
         [Category("P1")]
+        [Description("Test Saturation supported property.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraCapabilities.IsSaturationSupported A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void IsSaturationSupported_PROPERTY_READ_ONLY()
+        {
+            var result = TestCamera.Capabilities.IsSaturationSupported;
+            Assert.IsNotNull(result, "The IsSaturationSupported value should not be null.");
+            Assert.IsInstanceOf<bool>(result, "The result should be of type boolean.");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test Sharpness supported property.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraCapabilities.IsSharpnessSupported A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void IsSharpnessSupported_PROPERTY_READ_ONLY()
+        {
+            var result = TestCamera.Capabilities.IsSharpnessSupported;
+            Assert.IsNotNull(result, "The IsSharpnessSupported value should not be null.");
+            Assert.IsInstanceOf<bool>(result, "The result should be of type boolean.");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test Gain supported property.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraCapabilities.IsGainSupported A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void IsGainSupported_PROPERTY_READ_ONLY()
+        {
+            var result = TestCamera.Capabilities.IsGainSupported;
+            Assert.IsNotNull(result, "The IsGainSupported value should not be null.");
+            Assert.IsInstanceOf<bool>(result, "The result should be of type boolean.");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test WhiteBalanceTemperature supported property.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraCapabilities.IsWhiteBalanceTemperatureSupported A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void IsWhiteBalanceTemperatureSupported_PROPERTY_READ_ONLY()
+        {
+            var result = TestCamera.Capabilities.IsWhiteBalanceTemperatureSupported;
+            Assert.IsNotNull(result, "The IsWhiteBalanceTemperatureSupported value should not be null.");
+            Assert.IsInstanceOf<bool>(result, "The result should be of type boolean.");
+        }
+
+        [Test]
+        [Category("P1")]
         [Description("Test PreviewResolutions supported property. Supported list should be greater than 0")]
         [Property("SPEC", "Tizen.Multimedia.CameraCapabilities.SupportedPreviewResolutions A")]
         [Property("SPEC_URL", "-")]
index a8236bd..3a0e999 100644 (file)
@@ -840,6 +840,90 @@ namespace Tizen.Multimedia.Tests
 
         [Test]
         [Category("P1")]
+        [Description("Check whether SaturationRange returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.SaturationRange A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void SaturationRange_PROPERTY_READ_ONLY()
+        {
+            try
+            {
+                var result = TestCamera.Settings.SaturationRange;
+                Assert.IsNotNull(result, "The saturation range should not be null.");
+                Assert.IsInstanceOf<Range>(result, "The saturation range should be of Range type.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("Saturation range feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether SharpnessRange returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.SharpnessRange A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void SharpnessRange_PROPERTY_READ_ONLY()
+        {
+            try
+            {
+                var result = TestCamera.Settings.SharpnessRange;
+                Assert.IsNotNull(result, "The sharpness range should not be null.");
+                Assert.IsInstanceOf<Range>(result, "The sharpness range should be of Range type.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("Sharpness range feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether GainRange returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.GainRange A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void GainRange_PROPERTY_READ_ONLY()
+        {
+            try
+            {
+                var result = TestCamera.Settings.GainRange;
+                Assert.IsNotNull(result, "The gain range should not be null.");
+                Assert.IsInstanceOf<Range>(result, "The gain range should be of Range type.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("Gain range feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether WhiteBalanceTemperatureRange returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.WhiteBalanceTemperatureRange A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void WhiteBalanceTemperatureRange_PROPERTY_READ_ONLY()
+        {
+            try
+            {
+                var result = TestCamera.Settings.WhiteBalanceTemperatureRange;
+                Assert.IsNotNull(result, "The white balance temperature range should not be null.");
+                Assert.IsInstanceOf<Range>(result, "The white balance temperature range should be of Range type.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("White balance temperature range feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P1")]
         [Description("Test panrange property.")]
         [Property("SPEC", "Tizen.Multimedia.CameraSettings.PanRange A")]
         [Property("SPEC_URL", "-")]
@@ -948,6 +1032,216 @@ namespace Tizen.Multimedia.Tests
 
         [Test]
         [Category("P1")]
+        [Description("Check whether Saturation returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.Saturation A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Saturation_PROPERTY_READ_WRITE()
+        {
+            try
+            {
+                var saturation = TestCamera.Settings.SaturationRange;
+
+                TestCamera.Settings.Saturation = saturation.Max;
+                Assert.IsNotNull(TestCamera.Settings.Saturation, "Saturation should not be null.");
+                Assert.AreEqual(saturation.Max, TestCamera.Settings.Saturation, "Saturation should be same as set value.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("Saturation feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P2")]
+        [Description("Check whether Saturation throws ObjectDisposedException if the object has already been disposed.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.Saturation A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PEX")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Saturation_THROWS_IF_OBJECT_IS_ALREADY_DISPOSED()
+        {
+            TestCamera.Dispose();
+
+            Assert.Throws<ObjectDisposedException>(() => { var mode = TestCamera.Settings.Saturation; },
+                "Should throws proper exception");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether Sharpness returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.Sharpness A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Sharpness_PROPERTY_READ_WRITE()
+        {
+            try
+            {
+                var sharpness = TestCamera.Settings.SharpnessRange;
+
+                TestCamera.Settings.Sharpness = sharpness.Max;
+                Assert.IsNotNull(TestCamera.Settings.Sharpness, "Sharpness should not be null.");
+                Assert.AreEqual(sharpness.Max, TestCamera.Settings.Sharpness, "Sharpness should be same as set value.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("Saturation feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P2")]
+        [Description("Check whether Sharpness throws ObjectDisposedException if the object has already been disposed.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.Sharpness A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PEX")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Sharpness_THROWS_IF_OBJECT_IS_ALREADY_DISPOSED()
+        {
+            TestCamera.Dispose();
+
+            Assert.Throws<ObjectDisposedException>(() => { var mode = TestCamera.Settings.Sharpness; },
+                "Should throws proper exception");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether Gain returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.Gain A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Gain_PROPERTY_READ_WRITE()
+        {
+            try
+            {
+                var gain = TestCamera.Settings.GainRange;
+
+                TestCamera.Settings.Gain = gain.Max;
+                Assert.IsNotNull(TestCamera.Settings.Gain, "Gain should not be null.");
+                Assert.AreEqual(gain.Max, TestCamera.Settings.Gain, "Gain should be same as set value.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("Saturation feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P2")]
+        [Description("Check whether Gain throws ObjectDisposedException if the object has already been disposed.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.Gain A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PEX")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void Gain_THROWS_IF_OBJECT_IS_ALREADY_DISPOSED()
+        {
+            TestCamera.Dispose();
+
+            Assert.Throws<ObjectDisposedException>(() => { var mode = TestCamera.Settings.Gain; },
+                "Should throws proper exception");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether GainStep returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.GainStep A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void GainStep_PROPERTY_READ_ONLY()
+        {
+            var result = TestCamera.Settings.GainStep;
+            Assert.IsNotNull(result, "GainStep should not be null.");
+            Assert.IsInstanceOf<int>(result, "GainStep should be of type int.");
+        }
+
+        [Test]
+        [Category("P2")]
+        [Description("Check whether GainStep throws ObjectDisposedException if the object has already been disposed.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.GainStep A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PEX")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void GainStep_THROWS_IF_OBJECT_IS_ALREADY_DISPOSED()
+        {
+            TestCamera.Dispose();
+
+            Assert.Throws<ObjectDisposedException>(() => { var mode = TestCamera.Settings.GainStep; },
+                "Should throws proper exception");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether WhiteBalanceTemperature returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.WhiteBalanceTemperature A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void WhiteBalanceTemperature_PROPERTY_READ_WRITE()
+        {
+            try
+            {
+                var gain = TestCamera.Settings.WhiteBalanceTemperatureRange;
+
+                TestCamera.Settings.WhiteBalanceTemperature = gain.Max;
+                Assert.IsNotNull(TestCamera.Settings.WhiteBalanceTemperature, "WhiteBalanceTemperature should not be null.");
+                Assert.AreEqual(gain.Max, TestCamera.Settings.WhiteBalanceTemperature, "WhiteBalanceTemperature should be same as set value.");
+            }
+            catch (NotSupportedException)
+            {
+                Assert.Pass("Saturation feature is not supported.");
+            }
+        }
+
+        [Test]
+        [Category("P2")]
+        [Description("Check whether WhiteBalanceTemperature throws ObjectDisposedException if the object has already been disposed.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.WhiteBalanceTemperature A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PEX")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void WhiteBalanceTemperature_THROWS_IF_OBJECT_IS_ALREADY_DISPOSED()
+        {
+            TestCamera.Dispose();
+
+            Assert.Throws<ObjectDisposedException>(() => { var mode = TestCamera.Settings.WhiteBalanceTemperature; },
+                "Should throws proper exception");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Check whether WhiteBalanceTemperatureStep returns expected value or not.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.WhiteBalanceTemperatureStep A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void WhiteBalanceTemperatureStep_PROPERTY_READ_ONLY()
+        {
+            var result = TestCamera.Settings.WhiteBalanceTemperatureStep;
+            Assert.IsNotNull(result, "WhiteBalanceTemperatureStep should not be null.");
+            Assert.IsInstanceOf<int>(result, "WhiteBalanceTemperatureStep should be of type int.");
+        }
+
+        [Test]
+        [Category("P2")]
+        [Description("Check whether WhiteBalanceTemperatureStep throws ObjectDisposedException if the object has already been disposed.")]
+        [Property("SPEC", "Tizen.Multimedia.CameraSettings.WhiteBalanceTemperatureStep A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PEX")]
+        [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")]
+        public void WhiteBalanceTemperatureStep_THROWS_IF_OBJECT_IS_ALREADY_DISPOSED()
+        {
+            TestCamera.Dispose();
+
+            Assert.Throws<ObjectDisposedException>(() => { var mode = TestCamera.Settings.WhiteBalanceTemperatureStep; },
+                "Should throws proper exception");
+        }
+
+        [Test]
+        [Category("P1")]
         [Description("Test Exposure property.")]
         [Property("SPEC", "Tizen.Multimedia.CameraSettings.Exposure A")]
         [Property("SPEC_URL", "-")]