From 37587e6b4e0c6ef3abac1d14a6a207b8e75b0525 Mon Sep 17 00:00:00 2001 From: Haesu Gwon Date: Wed, 26 Apr 2023 17:25:02 +0900 Subject: [PATCH] [Camera][TCSACR-538] Add new camera setting APIs Change-Id: I42c90d2d3555b9083684e8a2f3e9234654b07305 --- .../testcase/TSCameraCapabilities.cs | 56 ++++ .../testcase/TSCameraSettings.cs | 294 +++++++++++++++++++++ 2 files changed, 350 insertions(+) diff --git a/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraCapabilities.cs b/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraCapabilities.cs index 4adfc40..587c20b 100644 --- a/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraCapabilities.cs +++ b/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraCapabilities.cs @@ -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(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(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(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(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", "-")] diff --git a/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraSettings.cs b/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraSettings.cs index a8236bd..3a0e999 100644 --- a/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraSettings.cs +++ b/tct-suite-vs/Tizen.Camera.Tests/testcase/TSCameraSettings.cs @@ -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(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(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(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(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(() => { 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(() => { 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(() => { 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(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(() => { 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(() => { 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(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(() => { 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", "-")] -- 2.7.4