[assembly: InternalsVisibleTo("Tizen.TV.NUI.Example, " + Tizen.NUI.PublicKey.TizenTV)]
[assembly: InternalsVisibleTo("NuiSample, " + Tizen.NUI.PublicKey.Sample)]
+[assembly: InternalsVisibleTo("Tizen.NUI.Devel.Tests, " + Tizen.NUI.PublicKey.Sample)]
namespace Tizen.NUI
{
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\..\src\Tizen\Tizen.csproj", "{2CF2BA0A-198E-4B8F-B5C4-2645AFBA85FA}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.System.Feedback", "..\..\src\Tizen.System.Feedback\Tizen.System.Feedback.csproj", "{999E72B5-7822-4187-973A-08800270716A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
{2CF2BA0A-198E-4B8F-B5C4-2645AFBA85FA}.NUI|Any CPU.Build.0 = Debug|Any CPU
{2CF2BA0A-198E-4B8F-B5C4-2645AFBA85FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2CF2BA0A-198E-4B8F-B5C4-2645AFBA85FA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {999E72B5-7822-4187-973A-08800270716A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {999E72B5-7822-4187-973A-08800270716A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {999E72B5-7822-4187-973A-08800270716A}.NUI|Any CPU.ActiveCfg = Release|Any CPU
+ {999E72B5-7822-4187-973A-08800270716A}.NUI|Any CPU.Build.0 = Release|Any CPU
+ {999E72B5-7822-4187-973A-08800270716A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {999E72B5-7822-4187-973A-08800270716A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
float textSize = 30.0f;
Window window;
Layer layer;
+ public static int mainPid;
+ public static int mainTid;
+
protected override void OnCreate()
{
base.OnCreate();
tlog.Debug(tag, "OnCreate() START!");
+ mainPid = Process.GetCurrentProcess().Id;
+ mainTid = Thread.CurrentThread.ManagedThreadId;
+
window = NUIApplication.GetDefaultWindow();
window.BackgroundColor = Color.Green;
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI.Devel.Tests.Properties {
- using System;
-
-
- /// <summary>
- /// A strongly-typed resource class, for looking up localized strings, etc.
- /// </summary>
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- /// <summary>
- /// Returns the cached ResourceManager instance used by this class.
- /// </summary>
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tizen.NUI.Devel.Tests.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- /// <summary>
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- /// </summary>
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="metadata">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" />
- </xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string" />
- <xsd:attribute name="type" type="xsd:string" />
- <xsd:attribute name="mimetype" type="xsd:string" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="assembly">
- <xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string" />
- <xsd:attribute name="name" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>2.0</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <data name="String1" xml:space="preserve">
- <value />
- <comment>test</comment>
- </data>
-</root>
\ No newline at end of file
<!-- Property Group for Tizen Project -->
<PropertyGroup>
<TizenCreateTpkOnBuild>true</TizenCreateTpkOnBuild>
+ <AssemblyName>Tizen.NUI.Devel.Tests</AssemblyName>
+ <SignAssembly>true</SignAssembly>
+ <AssemblyOriginatorKeyFile>NuiSample.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugType>portable</DebugType>
+ <DefineConstants>TRACE;DEBUG;EXAMPLE_OFF</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>None</DebugType>
<ProjectReference Include="..\nunit.framework\nunit.framework.csproj" />
<ProjectReference Include="..\nunitlite\nunitlite.csproj" />
</ItemGroup>
- <Target Name="PostBuild" AfterTargets="PostBuildEvent">
- <Exec Command="sdb root on
sdb shell "mount -o remount,rw /"
sdb shell "rm /usr/share/dotnet.tizen/framework/*.ni.dll"
sdb push $(TargetDir)Tizen.NUI.dll $(TargetDir)Tizen.NUI.pdb /usr/share/dotnet.tizen/framework/
sdb shell "chsmack -a '_' /usr/share/dotnet.tizen/framework/Tizen.NUI.dll"
sdb shell "chsmack -a '_' /usr/share/dotnet.tizen/framework/Tizen.NUI.pdb"
sdb push $(TargetDir)Tizen.NUI.Components.dll $(TargetDir)Tizen.NUI.Components.pdb /usr/share/dotnet.tizen/framework/
sdb shell "chsmack -a '_' /usr/share/dotnet.tizen/framework/Tizen.NUI.Components.dll"
sdb shell "chsmack -a '_' /usr/share/dotnet.tizen/framework/Tizen.NUI.Components.pdb"
sdb shell sync
" />
- </Target>
</Project>
+++ /dev/null
-#define EXAMPLE
-#undef EXAMPLE
-
-using NUnit.Framework;
-using NUnit.Framework.TUnit;
-using System;
-using Tizen.NUI.Components;
-using Tizen.NUI.BaseComponents;
-using global::System.Resources;
-
-namespace Tizen.NUI.Devel.Tests
-{
- [TestFixture]
- [Description("TSButton Example Tests")]
- public class ButtonTests
- {
- private const string TAG = "NUITEST";
- private string _image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
-
- [SetUp]
- public void Init()
- {
- Tizen.Log.Info(TAG, "Init() is called!");
- }
-
- [TearDown]
- public void Destroy()
- {
- Tizen.Log.Info(TAG, "Destroy() is called!");
- }
-
- [Test]
- [Category("P1")]
- [Description("Test Button empty constructor. Check it has been triggered")]
- [Property("SPEC", "Tizen.NUI.Components.Button.Button C")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "CONSTR")]
- [Property("COVPARAM", "")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void Button_CHECK_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be an instance of Button!");
- }
-
- //[Test]
- [Category("P2")]
- [Description("Check exception when constructing a Button with nonexistent style.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.Button C")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "CONSTX")]
- [Property("COVPARAM", "string")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void Button_INIT_WITH_STRING_Exception()
- {
- /* TEST CODE */
- try
- {
- var button = new Button("defaultButtonX");
- Assert.Fail("Should throw the Exception: There is no style of defaultButtonX !");
- }
- catch (InvalidOperationException e)
- {
- Assert.Pass("InvalidOperationException: passed!");
- }
- }
-
- //[Test]
- [Category("P1")]
- [Description("Test Button constructor using style. Check it has been triggered")]
- [Property("SPEC", "Tizen.NUI.Components.Button.Button C")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "CONSTR")]
- [Property("COVPARAM", "ButtonStyle")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void Button_INIT_WITH_STYLE()
- {
- /* TEST CODE */
- var style = new ButtonStyle();
- Assert.IsNotNull(style, "Should be not null!");
- Assert.IsInstanceOf<ButtonStyle>(style, "Should be an instance of ButtonStyle!");
-
- var button = new Button(style);
- Assert.IsNotNull(button, "Should be not null!");
- Assert.IsInstanceOf<Button>(button, "Should be an instance of Button!");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test Style. Check whether Style is readable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.Style A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void Style_CHECK_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be an instance of Button!");
-
- var style = button.Style;
- Assert.IsNotNull(style, "Should be not null");
- Assert.IsInstanceOf<ButtonStyle>(style, "Should be an instance of ButtonStyle!");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test IsSelectable. Check whether IsSelectable is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IsSelectable A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void IsSelectable_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.IsSelectable = true;
- Assert.AreEqual(true, button.IsSelectable, "Should be equals to the set value");
- button.IsSelectable = false;
- Assert.AreEqual(false, button.IsSelectable, "Should be equals to the set value");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test Text. Check whether Text is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.Text A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void Text_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.Text = "Test Text";
- Assert.AreEqual("Test Text", button.Text, "Should be equals to the set value of Text");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test TranslatableText. Check whether TranslatableText is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TranslatableText A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TranslatableText_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- if (NUIApplication.MultilingualResourceManager != null)
- {
- button.TranslatableText = "Test TranslatableText";
- Assert.AreEqual("Test TranslatableText", button.TranslatableText, "Should be equals to the set value of TranslatableText");
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test PointSize. Check whether PointSize is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.PointSize A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void PointSize_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.PointSize = 10.0f;
- Assert.AreEqual(10.0f, button.PointSize, "Should be equals to the set value of PointSize");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test FontFamily. Check whether FontFamily is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.FontFamily A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void FontFamily_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.FontFamily = "SamsungOne 500";
- Assert.AreEqual("SamsungOne 500", button.FontFamily, "Should be equals to the set value of FontFamily");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test TextColor. Check whether TextColor is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextColor A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TextColor_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- var color = new Color(1.0f, 0.0f, 0.0f, 1.0f);
- Assert.IsNotNull(color, "Should be not null");
- Assert.IsInstanceOf<Color>(color, "Should be equal!");
- button.TextColor = color;
-
- Assert.AreEqual(color.R, button.TextColor.R, "Should be equals to the color.R set");
- Assert.AreEqual(color.G, button.TextColor.G, "Should be equals to the color.G set");
- Assert.AreEqual(color.B, button.TextColor.B, "Should be equals to the color.B set");
- Assert.AreEqual(color.A, button.TextColor.A, "Should be equals to the color.A set");
-
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test TextAlignment. Check whether TextAlignment is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextAlignment A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TextAlignment_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.TextAlignment = HorizontalAlignment.Begin;
- Assert.AreEqual(HorizontalAlignment.Begin, button.TextAlignment, "Should be equals to the set value of TextAlignment");
- button.TextAlignment = HorizontalAlignment.Center;
- Assert.AreEqual(HorizontalAlignment.Center, button.TextAlignment, "Should be equals to the set value of TextAlignment");
- button.TextAlignment = HorizontalAlignment.End;
- Assert.AreEqual(HorizontalAlignment.End, button.TextAlignment, "Should be equals to the set value of TextAlignment");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test IconURL. Check whether IconURL is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IconURL A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void IconURL_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.IconURL = _image_path;
- Assert.AreEqual(_image_path, button.IconURL, "Should be equals to the set value of IconURL");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test TextSelector. Check whether TextSelector is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TextSelector_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- var stringSelector = new StringSelector
- {
- Normal = "Normal",
- Selected = "Selected",
- };
- Assert.IsNotNull(stringSelector, "Should be not null");
- Assert.IsInstanceOf<StringSelector>(stringSelector, "Should be equal!");
-
- button.TextSelector = stringSelector;
- Assert.AreEqual(stringSelector.Normal, button.TextSelector.Normal, "Should be equals to the set value of TextSelector");
- Assert.AreEqual(stringSelector.Selected, button.TextSelector.Selected, "Should be equals to the set value of TextSelector");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P2")]
- [Description("Check exception when TextSelector receive a null value.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PEX")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TextSelector_SET_GET_VALUE_Exception()
- {
- /* TEST CODE */
- try
- {
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.TextSelector = null;
- Assert.Fail("Should throw the NullReferenceException!");
- }
- catch (NullReferenceException e)
- {
- Assert.Pass("NullReferenceException: passed!");
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test TranslatableTextSelector. Check whether TranslatableTextSelector is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TranslatableTextSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TranslatableTextSelector_SET_GET_VALUE()
- {
- /* TEST CODE */
- ResourceManager testRm = new ResourceManager("Tizen.NUI.Devel.Tests.Properties.Resources", typeof(ButtonTests).Assembly);
- NUIApplication.MultilingualResourceManager = testRm;
-
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- var stringSelector = new StringSelector
- {
- Normal = "Normal",
- Selected = "Selected",
- };
- Assert.IsNotNull(stringSelector, "Should be not null");
- Assert.IsInstanceOf<StringSelector>(stringSelector, "Should be equal!");
-
- button.TranslatableTextSelector = stringSelector;
- Assert.AreEqual(stringSelector.Normal, button.TranslatableTextSelector.Normal, "Should be equals to the set value of TranslatableTextSelector");
- Assert.AreEqual(stringSelector.Selected, button.TranslatableTextSelector.Selected, "Should be equals to the set value of TranslatableTextSelector");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P2")]
- [Description("Check exception when TranslatableTextSelector receive a null value.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TranslatableTextSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PEX")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TranslatableTextSelector_SET_GET_VALUE_Exception()
- {
- /* TEST CODE */
- try
- {
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.TranslatableTextSelector = null;
- Assert.Fail("Should throw the NullReferenceException!");
- }
- catch (NullReferenceException e)
- {
- Assert.Pass("NullReferenceException: passed!");
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test TextColorSelector. Check whether TextColorSelector is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextColorSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TextColorSelector_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- var colorSelector = new ColorSelector
- {
- Normal = new Color(0.0f, 0.0f, 1.0f, 1.0f),
- Selected = new Color(0.0f, 1.0f, 0.0f, 1.0f),
- };
- Assert.IsNotNull(colorSelector, "Should be not null");
- Assert.IsInstanceOf<ColorSelector>(colorSelector, "Should be equal!");
-
- button.TextColorSelector = colorSelector;
- Assert.AreEqual(colorSelector.Normal.R, button.TextColorSelector.Normal.R, "Should be equals to the set value of TextColorSelector Normal R");
- Assert.AreEqual(colorSelector.Normal.G, button.TextColorSelector.Normal.G, "Should be equals to the set value of TextColorSelector Normal G");
- Assert.AreEqual(colorSelector.Normal.B, button.TextColorSelector.Normal.B, "Should be equals to the set value of TextColorSelector Normal B");
- Assert.AreEqual(colorSelector.Normal.A, button.TextColorSelector.Normal.A, "Should be equals to the set value of TextColorSelector Normal A");
-
- Assert.AreEqual(colorSelector.Selected.R, button.TextColorSelector.Selected.R, "Should be equals to the set value of TextColorSelector Selected R");
- Assert.AreEqual(colorSelector.Selected.G, button.TextColorSelector.Selected.G, "Should be equals to the set value of TextColorSelector Selected G");
- Assert.AreEqual(colorSelector.Selected.B, button.TextColorSelector.Selected.B, "Should be equals to the set value of TextColorSelector Selected B");
- Assert.AreEqual(colorSelector.Selected.A, button.TextColorSelector.Selected.A, "Should be equals to the set value of TextColorSelector Selected A");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P2")]
- [Description("Check exception when TextColorSelector receive a null value.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextColorSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PEX")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void TextColorSelector_SET_GET_VALUE_Exception()
- {
- /* TEST CODE */
- try
- {
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.TextColorSelector = null;
- Assert.Fail("Should throw the NullReferenceException!");
- }
- catch (NullReferenceException e)
- {
- Assert.Pass("NullReferenceException: passed!");
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test PointSizeSelector. Check whether PointSizeSelector is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.PointSizeSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void PointSizeSelector_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- var floatSelector = new FloatSelector
- {
- Normal = 10.0f,
- Selected = 12.0f,
- };
- Assert.IsNotNull(floatSelector, "Should be not null");
- Assert.IsInstanceOf<FloatSelector>(floatSelector, "Should be equal!");
-
- button.PointSizeSelector = floatSelector;
- Assert.AreEqual(floatSelector.Normal, button.PointSizeSelector.Normal, "Should be equals to the set value of PointSizeSelector Normal");
- Assert.AreEqual(floatSelector.Selected, button.PointSizeSelector.Selected, "Should be equals to the set value of PointSizeSelector Selected");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P2")]
- [Description("Check exception when PointSizeSelector receive a null value.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.PointSizeSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PEX")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void PointSizeSelector_SET_GET_VALUE_Exception()
- {
- /* TEST CODE */
- try
- {
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.PointSizeSelector = null;
- Assert.Fail("Should throw the NullReferenceException!");
- }
- catch (NullReferenceException e)
- {
- Assert.Pass("NullReferenceException: passed!");
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test IconURLSelector. Check whether IconURLSelector is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IconURLSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void IconURLSelector_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- var stringSelector = new StringSelector
- {
- Normal = _image_path,
- Selected = _image_path,
- };
- Assert.IsNotNull(stringSelector, "Should be not null");
- Assert.IsInstanceOf<StringSelector>(stringSelector, "Should be equal!");
-
- button.IconURLSelector = stringSelector;
- Assert.AreEqual(stringSelector.Normal, button.IconURLSelector.Normal, "Should be equals to the set value of IconURLSelector Normal");
- Assert.AreEqual(stringSelector.Selected, button.IconURLSelector.Selected, "Should be equals to the set value of IconURLSelector Selected");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P2")]
- [Description("Check exception when IconURLSelector receive a null value.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IconURLSelector A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PEX")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void IconURLSelector_SET_GET_VALUE_Exception()
- {
- /* TEST CODE */
- try
- {
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.IconURLSelector = null;
- Assert.Fail("Should throw the NullReferenceException!");
- }
- catch (NullReferenceException e)
- {
- Assert.Pass("NullReferenceException: passed!");
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test IsSelected. Check whether IsSelected is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IsSelected A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void IsSelected_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.IsSelectable = true;
- button.IsSelected = true;
- Assert.AreEqual(true, button.IsSelected, "Retrieved IsSelected should be equal to set value");
- button.IsSelected = false;
- Assert.AreEqual(false, button.IsSelected, "Retrieved IsSelected should be equal to set value");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test IsEnabled. Check whether IsEnabled is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IsEnabled A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void IsEnabled_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.IsEnabled = true;
- Assert.AreEqual(true, button.IsEnabled, "Retrieved IsEnabled should be equal to set value");
- button.IsEnabled = false;
- Assert.AreEqual(false, button.IsEnabled, "Retrieved IsEnabled should be equal to set value");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test IconPadding. Check whether IconPadding is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IconPadding A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void IconPadding_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.IconPadding = new Extents(0, 0, 10, 10);
- Assert.AreEqual(0, button.IconPadding.Start, "Retrieved IconPadding.Start should be equal to set value");
- Assert.AreEqual(0, button.IconPadding.End, "Retrieved IconPadding.End should be equal to set value");
- Assert.AreEqual(10, button.IconPadding.Top, "Retrieved IconPadding.Top should be equal to set value");
- Assert.AreEqual(10, button.IconPadding.Bottom, "Retrieved IconPadding.Bottom should be equal to set value");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test TextPadding. Check whether TextPadding is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextPadding A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void TextPadding_SET_GET_VALUE()
- {
- /* TEST CODE */
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- button.TextPadding = new Extents(0, 0, 10, 10);
- Assert.AreEqual(0, button.TextPadding.Start, "Retrieved TextPadding.Start should be equal to set value");
- Assert.AreEqual(0, button.TextPadding.End, "Retrieved TextPadding.End should be equal to set value");
- Assert.AreEqual(10, button.TextPadding.Top, "Retrieved TextPadding.Top should be equal to set value");
- Assert.AreEqual(10, button.TextPadding.Bottom, "Retrieved TextPadding.Bottom should be equal to set value");
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test OnKey. Check return the right value or not")]
- [Property("SPEC", "Tizen.NUI.Components.Button.OnKey M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MR")]
- [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
- public void OnKey_CHECK_RETURN_VALUE()
- {
- /* TEST CODE */
- try
- {
- var button = new Components.Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
-
- bool flag = true;
- flag = button.OnKey(new Key());
- Assert.AreEqual(false, flag, "OnKey return check fail.");
- }
- catch (Exception e)
- {
- Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test Dispose, try to dispose the Button.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.Dispose M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MCST")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void Dispose_TEST()
- {
- /* TEST CODE */
- try
- {
- Button button = new Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
- button.Dispose();
- }
- catch (Exception e)
- {
- Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test ApplyStyle. Check whether ApplyStyle works or not.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.ApplyStyle M")]
- [Property("SPEC_URL", " - ")]
- [Property("CRITERIA", "MR")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void ApplyStyle_NO_RETURN_VALUE()
- {
- try
- {
- var button = new Button();
- var style = new ButtonStyle();
- button.ApplyStyle(style);
- }
- catch (Exception e)
- {
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test CreateViewStyle. Check whether CreateViewStyle works or not.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.CreateViewStyle M")]
- [Property("SPEC_URL", " - ")]
- [Property("CRITERIA", "MR")]
- [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
- public void CreateViewStyle_CHECK_RETURN_VALUE()
- {
- try
- {
- var button = new MyButton();
- ViewStyle style = button.CreateMyViewStyle();
- Assert.IsNotNull(style, "Should be not null");
- }
- catch (Exception e)
- {
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test Button's icon part. Check whether null or not")]
- [Property("SPEC", "Tizen.NUI.Components.Button.Icon A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
- public void Icon_TEST()
- {
- /* TEST CODE */
- try
- {
- var button = new Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
- Assert.IsNotNull(button.Icon, "Should be not null");
- Assert.IsInstanceOf<ImageView>(button.Icon, "Should return ImageView instance");
- button.Dispose();
- }
- catch (Exception e)
- {
- Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test Button's overlay image part. Check whether null or not")]
- [Property("SPEC", "Tizen.NUI.Components.Button.OverlayImage A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
- public void OverlayImage_TEST()
- {
- /* TEST CODE */
- try
- {
- var button = new Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
- Assert.IsNotNull(button.OverlayImage, "Should be not null");
- Assert.IsInstanceOf<ImageView>(button.OverlayImage, "Should return ImageView instance");
- button.Dispose();
- }
- catch (Exception e)
- {
- Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test Button's text part. Check whether null or not")]
- [Property("SPEC", "Tizen.NUI.Components.Button.TextLabel A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
- public void TextLabel_TEST()
- {
- /* TEST CODE */
- try
- {
- var button = new Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
- Assert.IsNotNull(button.TextLabel, "Should be not null");
- Assert.IsInstanceOf<TextLabel>(button.TextLabel, "Should return TextLabel instance");
- button.Dispose();
- }
- catch (Exception e)
- {
- Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
-#if (EXAMPLE)
- [Test]
-#endif
- [Category("P1")]
- [Description("Test Icon relative orientation in Button. Check whether IconRelativeOrientation is readable and writable.")]
- [Property("SPEC", "Tizen.NUI.Components.Button.IconRelativeOrientation A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
- public void IconRelativeOrientation_TEST()
- {
- /* TEST CODE */
- try
- {
- var button = new Button();
- Assert.IsNotNull(button, "Should be not null");
- Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
- button.IconRelativeOrientation = Button.IconOrientation.Top;
- Assert.AreEqual(Button.IconOrientation.Top, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
- button.IconRelativeOrientation = Button.IconOrientation.Bottom;
- Assert.AreEqual(Button.IconOrientation.Bottom, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
- button.IconRelativeOrientation = Button.IconOrientation.Left;
- Assert.AreEqual(Button.IconOrientation.Left, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
- button.IconRelativeOrientation = Button.IconOrientation.Right;
- Assert.AreEqual(Button.IconOrientation.Right, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
- button.Dispose();
- }
- catch (Exception e)
- {
- Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
- LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
- Assert.Fail("Caught Exception" + e.ToString());
- }
- }
-
- public class MyButton : Button
- {
- public MyButton() : base() { }
-
- public ViewStyle CreateMyViewStyle()
- {
- return base.CreateViewStyle();
- }
- }
-
- public class DefaultButtonStyle : StyleBase
- {
- protected override ViewStyle GetViewStyle()
- {
- return new ButtonStyle();
- }
- }
- }
-}
+++ /dev/null
-using NUnit.Framework;
-using System;
-using Tizen.NUI.BaseComponents;
-using System.Threading.Tasks;
-
-namespace Tizen.NUI.Devel.Tests
-{
- using L = Tizen.Log;
-
- [TestFixture]
- public class LottieAnimationViewTests
- {
- private string tag = "NUITEST";
- private string lottieFilePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource;
- private bool finishedCheck = false;
-
- [SetUp]
- public void Init()
- {
- }
-
- [TearDown]
- public void Destroy()
- {
- }
-
- [Test]
- [Category("P1")]
- [Description("LottieAnimationView constructor test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.LottieAnimationView C")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "CONSTR")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public void LottieAnimationView_INIT()
- {
- L.Debug(tag, $" LottieAnimationView_INIT() ");
-
- var lottie = new LottieAnimationView();
- Assert.IsNotNull(lottie, "null handle");
- Assert.IsInstanceOf<LottieAnimationView>(lottie, "should be LottieAnimationView instance.");
-
- var lottie2 = new LottieAnimationView(2.0f);
- Assert.IsNotNull(lottie2, "null handle");
- Assert.IsInstanceOf<LottieAnimationView>(lottie2, "should be LottieAnimationView instance.");
-
- var lottie3 = new LottieAnimationView(3.0f, false);
- Assert.IsNotNull(lottie3, "null handle");
- Assert.IsInstanceOf<LottieAnimationView>(lottie3, "should be LottieAnimationView instance.");
-
- lottie.Dispose();
- lottie2.Dispose();
- lottie3.Dispose();
- }
-
- [Test]
- [Category("P1")]
- [Description("URL test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.URL A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task URL_SET_GET_VALUE()
- {
- L.Debug(tag, $" URL_SET_GET_VALUE() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- Assert.IsTrue(lottieFilePath + "/lottie.json" == lottie.URL, "should be same as previously set value");
-
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("PlayState test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.PlayState A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PR0")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task PlayState_GET_VALUE()
- {
- L.Debug(tag, $" PlayState_GET_VALUE() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- await Task.Delay(500);
-
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- // PlayStateType.Invalid is impossible to check and test. the state comes from dali native but it never gives Invalid value. it is reserved enum for the future change.
-
- lottie.Play();
- await Task.Delay(100);
- Assert.IsTrue(lottie.PlayState == LottieAnimationView.PlayStateType.Playing, "should be same as previously set value");
-
- lottie.Pause();
- await Task.Delay(100);
-
- Assert.IsTrue(lottie.PlayState == LottieAnimationView.PlayStateType.Paused, "should be same as previously set value");
-
- lottie.Stop();
- await Task.Delay(100);
-
- Assert.IsTrue(lottie.PlayState == LottieAnimationView.PlayStateType.Stopped, "should be same as previously set value");
-
- // PlayStateType.Invalid is impossible to check and test. the state comes from dali native but it never gives Invalid value. it is reserved enum for the future change.
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
-
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("TotalFrame test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.TotalFrame A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRO")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task TotalFrame_GET_VALUE()
- {
- L.Debug(tag, $" TotalFrame_GET_VALUE() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- lottie.Stop();
- const int fixedTotalFrameOfLottieFile = 124; // this 124 value is fixed one, that is lottie.json file were created as 124 frames originally. obviously it varies by lottile resource file.
-
- L.Debug(tag, $"total frame={lottie.TotalFrame}");
- // this 124 value is fixed one, that is lottie.json file were created as 124 frames originally. obviously it varies by lottile resource file.
- Assert.IsTrue(fixedTotalFrameOfLottieFile == lottie.TotalFrame, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("CurrentFrame test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.CurrentFrame A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task CurrentFrame_SET_GET_VALUE()
- {
- L.Debug(tag, $" CurrentFrame_SET_GET_VALUE() ");
-
- var lottie = new LottieAnimationView();
-
- lottie.URL = lottieFilePath + "/lottie.json";
-
- NUIApplication.GetDefaultWindow().Add(lottie);
-
- var current = 3;
- lottie.CurrentFrame = current;
- await Task.Delay(1000);
- Assert.IsTrue(current == lottie.CurrentFrame, "should be same as previously set value");
-
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
-
- }
-
- [Test]
- [Category("P1")]
- [Description("LoopingMode test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.LoopingMode A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task LoopingMode_SET_GET_VALUE()
- {
- L.Debug(tag, $" LoopingMode_SET_GET_VALUE() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- await Task.Delay(500);
-
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- var loopingMode = LottieAnimationView.LoopingModeType.AutoReverse;
- lottie.LoopingMode = loopingMode;
- Assert.IsTrue(loopingMode == lottie.LoopingMode);
-
- loopingMode = LottieAnimationView.LoopingModeType.Restart;
- lottie.LoopingMode = loopingMode;
- Assert.IsTrue(loopingMode == lottie.LoopingMode);
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("LoopCount test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.LoopCount A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task LoopCount_SET_GET_VALUE()
- {
- L.Debug(tag, $" LoopCount_SET_GET_VALUE() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie2.json";
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- var loopCount = -1;
- lottie.LoopCount = loopCount;
- Assert.IsTrue(loopCount == lottie.LoopCount, "should be same as previously set value");
-
- loopCount = 7;
- lottie.LoopCount = loopCount;
- Assert.IsTrue(loopCount == lottie.LoopCount, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("StopBehavior test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.StopBehavior A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task StopBehavior_SET_GET_VALUE()
- {
- L.Debug(tag, $" StopBehavior_SET_GET_VALUE() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- await Task.Delay(500);
-
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- var stopBehavior = LottieAnimationView.StopBehaviorType.MaximumFrame;
-
- lottie.StopBehavior = stopBehavior;
- Assert.IsTrue(stopBehavior == lottie.StopBehavior, "should be same as previously set value");
-
- stopBehavior = LottieAnimationView.StopBehaviorType.CurrentFrame;
- lottie.StopBehavior = stopBehavior;
- Assert.IsTrue(stopBehavior == lottie.StopBehavior, "should be same as previously set value");
-
- stopBehavior = LottieAnimationView.StopBehaviorType.MinimumFrame;
- lottie.StopBehavior = stopBehavior;
- Assert.IsTrue(stopBehavior == lottie.StopBehavior, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("RedrawInScalingDown test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.RedrawInScalingDown A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task RedrawInScalingDown_SET_GET_VALUE()
- {
- L.Debug(tag, $" RedrawInScalingDown_SET_GET_VALUE() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- await Task.Delay(500);
-
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- var redraw = false;
-
- lottie.RedrawInScalingDown = redraw;
- Assert.IsTrue(redraw == lottie.RedrawInScalingDown, "should be same as previously set value");
-
- redraw = true;
- lottie.RedrawInScalingDown = redraw;
- Assert.IsTrue(redraw == lottie.RedrawInScalingDown, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("SetMinMaxFrame test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.SetMinMaxFrame M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MAR")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task SetMinMaxFrame_CHECK()
- {
- L.Debug(tag, $" SetMinMaxFrame_CHECK() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- await Task.Delay(500);
-
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- var min = 5;
- var max = 9;
- lottie.SetMinMaxFrame(min, max);
- await Task.Delay(300);
-
- lottie.StopBehavior = LottieAnimationView.StopBehaviorType.MinimumFrame;
- lottie.Play();
- await Task.Delay(300);
- L.Debug(tag, $"1. stop behavior ={lottie.StopBehavior} total frame={lottie.TotalFrame}");
- lottie.Stop();
- await Task.Delay(300);
-
- L.Debug(tag, $"2. current frame={lottie.CurrentFrame}, min={min}, max={max}");
- Assert.IsTrue(min == lottie.CurrentFrame, "should be same as previously set value");
-
- lottie.StopBehavior = LottieAnimationView.StopBehaviorType.MaximumFrame;
- lottie.Play();
- await Task.Delay(300);
- L.Debug(tag, $"2-1. stop behavior ={lottie.StopBehavior}");
- lottie.Stop();
- await Task.Delay(300);
-
- L.Debug(tag, $"3. current frame={lottie.CurrentFrame}, min={min}, max={max}");
- Assert.IsTrue(max == lottie.CurrentFrame, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
-
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("Play test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Play M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MCST")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task Play_CHECK()
- {
- L.Debug(tag, $" Play_CHECK() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- lottie.LoopCount = -1;
- lottie.Play();
- await Task.Delay(100);
-
- L.Debug(tag, $"state={lottie.PlayState}");
- Assert.IsTrue(LottieAnimationView.PlayStateType.Playing == lottie.PlayState, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("Pause test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Pause M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MCST")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task Pause_CHECK()
- {
- L.Debug(tag, $" Pause_CHECK() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- lottie.LoopCount = -1;
- lottie.Play();
- await Task.Delay(100);
-
- lottie.Pause();
- await Task.Delay(100);
-
- L.Debug(tag, $"state={lottie.PlayState}, delay 100ms");
- Assert.IsTrue(LottieAnimationView.PlayStateType.Paused == lottie.PlayState, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("Stop test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Stop M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MCST")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task Stop_CHECK()
- {
- L.Debug(tag, $" Stop_CHECK() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- lottie.LoopCount = -1;
- lottie.Play();
- lottie.Stop();
- await Task.Delay(100);
-
- L.Debug(tag, $"state={lottie.PlayState}");
- Assert.IsTrue(LottieAnimationView.PlayStateType.Stopped == lottie.PlayState, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("GetContentInfo test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.GetContentInfo M")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "MR")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task GetContentInfo_CHECK()
- {
- L.Debug(tag, $" GetContentInfo_CHECK() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- // this content info values are fixed ones, that were written in lottie.json file created as like that originally. obviously these vary by lottile resource file.
- const string firstContentInfo = ".chris-gannon-instagram-lottie";
- const int secondContentInfo = 0;
- const int thirdContentInfo = 124;
-
- var fixedContentInfoOfLottieFile = lottie.GetContentInfo();
-
- // this content info values are fixed ones, that were written in lottie.json file created as like that originally. obviously these vary by lottile resource file.
- Assert.IsTrue(fixedContentInfoOfLottieFile[0].Item1 == firstContentInfo, "should be same as previously set value");
- Assert.IsTrue(fixedContentInfoOfLottieFile[0].Item2 == secondContentInfo, "should be same as previously set value");
- Assert.IsTrue(fixedContentInfoOfLottieFile[0].Item3 == thirdContentInfo, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- [Test]
- [Category("P1")]
- [Description("Finished test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Finished E")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "EVL")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task Finished_CHECK_EVENT()
- {
- L.Debug(tag, $" Finished_CHECK_EVENT() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie2.json";
- await Task.Delay(500);
-
- NUIApplication.GetDefaultWindow().Add(lottie);
- await Task.Delay(500);
-
- finishedCheck = false;
- lottie.LoopCount = 1;
- lottie.Finished += Lottie_Finished;
-
- lottie.Play();
-
- L.Debug(tag, $"1. playState={lottie.PlayState}");
- var lottieFilesPlayDuration = 2000;
- await Task.Delay(lottieFilesPlayDuration);
-
- L.Debug(tag, $"2. playState={lottie.PlayState}");
- if (lottie.PlayState != LottieAnimationView.PlayStateType.Stopped)
- {
- L.Debug(tag, $"3. it's not yet stopped! playState={lottie.PlayState}, stop here again.");
- lottie.Stop();
- await Task.Delay(1000);
- L.Debug(tag, $"4. it's not yet stopped! playState={lottie.PlayState}, stop here again.");
- }
- Assert.IsTrue(finishedCheck, $"should be same as previously set value, state={lottie.PlayState}");
-
- L.Debug(tag, $"5. playState={lottie.PlayState}");
-
- lottie.Finished -= Lottie_Finished;
- lottie.Unparent();
- lottie.Dispose();
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
-
- private void Lottie_Finished(object sender, EventArgs e)
- {
- L.Debug(tag, $"Finished callback came!");
- finishedCheck = true;
- }
-
- [Test]
- [Category("P1")]
- [Description("RedrawInScalingDown animation test")]
- [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.RedrawInScalingDown A")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "PRW")]
- [Property("AUTHOR", "dongsug.song@samsung.com")]
- public async Task RedrawInScalingDown_AnimationTest()
- {
- L.Debug(tag, $" RedrawInScalingDown_AnimationTest() ");
- await Task.Delay(500);
-
- var lottie = new LottieAnimationView();
- var lottieRedrawTrue = new LottieAnimationView();
- await Task.Delay(500);
-
- lottie.URL = lottieFilePath + "/lottie.json";
- lottieRedrawTrue.URL = lottieFilePath + "/lottie.json";
- await Task.Delay(500);
-
- NUIApplication.GetDefaultWindow().Add(lottie);
- NUIApplication.GetDefaultWindow().Add(lottieRedrawTrue);
- await Task.Delay(500);
-
- lottie.Size = new Size(1000, 1000);
- lottie.Position = new Position(0, 0);
- lottie.LoopCount = -1;
- lottie.Play();
-
- lottieRedrawTrue.Size = new Size(1000, 1000);
- lottieRedrawTrue.Position = new Position(1000, 10);
- lottieRedrawTrue.LoopCount = -1;
- lottieRedrawTrue.Play();
-
- await Task.Delay(1000);
-
- var redraw = false;
- var redraw2 = true;
- lottie.RedrawInScalingDown = redraw;
- lottieRedrawTrue.RedrawInScalingDown = redraw2;
-
- for (int i = 1000; i > 100; i -= 10)
- {
- lottie.Size = new Size(i, i, 0);
- lottieRedrawTrue.Size = new Size(i, i, 0);
- await Task.Delay(100);
- }
-
- await Task.Delay(9000);
-
- Assert.IsTrue(redraw == lottie.RedrawInScalingDown, "should be same as previously set value");
- Assert.IsTrue(redraw2 == lottieRedrawTrue.RedrawInScalingDown, "should be same as previously set value");
-
- L.Debug(tag, $"if some fail comes above, this will be not be shown!");
- lottie.Unparent();
- lottie.Dispose();
-
- lottieRedrawTrue.Unparent();
- lottieRedrawTrue.Dispose();
-
- L.Debug(tag, $"lottie.Dispose() called");
- await Task.Delay(500);
- }
- }
-}
+++ /dev/null
-
-using NUnit.Framework;
-using NUnit.Framework.TUnit;
-using System;
-using Tizen.NUI.Components;
-using Tizen.NUI.BaseComponents;
-using global::System.Resources;
-
-namespace Tizen.NUI.Devel.Tests
-{
- [TestFixture]
- [Description("View memory leak Tests")]
- public class ViewMemoryLeakTests
- {
- private const string TAG = "NUITEST";
-
- [SetUp]
- public void Init()
- {
- }
-
- [TearDown]
- public void Destroy()
- {
- }
-
- [Test]
- [Category("P1")]
- [Description("view memory leak test")]
- [Property("SPEC", "local test")]
- [Property("SPEC_URL", "-")]
- [Property("CRITERIA", "local test")]
- [Property("COVPARAM", "")]
- [Property("AUTHOR", "dongsug.song")]
- public void ViewMemoryLeakTest()
- {
- /* TEST CODE */
- test1();
- }
-
- private View rootView;
- private Timer timer;
- private const uint numberOfTestCount = 1000;
- private const uint numberOfViews = 500;
- private int currentTestCount = 0;
-
- private TextLabel doGC, add500views, remove500views;
- void test1()
- {
- rootView = new View();
- rootView.Size2D = new Size2D(100, 100);
- rootView.Position2D = new Position2D(70, 70);
- rootView.Focusable = true;
- rootView.BackgroundColor = Color.Red;
- rootView.KeyEvent += RootView_KeyEvent;
- rootView.TouchEvent += RootView_TouchEvent;
-
- Window.Instance.GetDefaultLayer().Add(rootView);
-
- FocusManager.Instance.SetCurrentFocusView(rootView);
-
- CreateViews();
-
- timer = new Timer(1000);
- timer.Tick += Timer_Tick;
-
- doGC = new TextLabel()
- {
- Size = new Size(200, 100),
- Position = new Position(500, 500),
- Text = "Do GC!",
- BackgroundColor = Color.White,
- };
- doGC.TouchEvent += DoGC_TouchEvent;
- Window.Instance.GetDefaultLayer().Add(doGC);
-
- add500views = new TextLabel()
- {
- Size = new Size(200, 100),
- Position = new Position(500, 700),
- Text = "add500views",
- BackgroundColor = Color.White,
- };
- add500views.TouchEvent += add500views_TouchEvent;
- Window.Instance.GetDefaultLayer().Add(add500views);
-
- remove500views = new TextLabel()
- {
- Size = new Size(200, 100),
- Position = new Position(500, 900),
- Text = "remove500views",
- BackgroundColor = Color.White,
- };
- remove500views.TouchEvent += remove500views_TouchEvent;
- Window.Instance.GetDefaultLayer().Add(remove500views);
- }
-
- private bool remove500views_TouchEvent(object source, View.TouchEventArgs e)
- {
- if (e.Touch.GetState(0) == PointStateType.Down)
- {
- Tizen.Log.Debug("NUITEST", "remove500views");
- DestroyViews();
- var me = source as TextLabel;
- me.BackgroundColor = Color.Blue;
- }
- else
- {
- var me = source as TextLabel;
- me.BackgroundColor = Color.White;
- }
- return true;
- }
-
- private bool add500views_TouchEvent(object source, View.TouchEventArgs e)
- {
- if (e.Touch.GetState(0) == PointStateType.Down)
- {
- Tizen.Log.Debug("NUITEST", "add500views");
- CreateViews();
- var me = source as TextLabel;
- me.BackgroundColor = Color.Red;
- }
- else
- {
- var me = source as TextLabel;
- me.BackgroundColor = Color.White;
- }
- return true;
- }
-
- private bool DoGC_TouchEvent(object source, View.TouchEventArgs e)
- {
- if (e.Touch.GetState(0) == PointStateType.Down)
- {
- Tizen.Log.Debug("NUITEST", "Do GC!");
- GC.Collect();
- GC.WaitForPendingFinalizers();
-
- var me = source as TextLabel;
- me.BackgroundColor = Color.Red;
- }
- else
- {
- var me = source as TextLabel;
- me.BackgroundColor = Color.White;
- }
- return true;
- }
-
- bool onceFlag = false;
- private bool RootView_TouchEvent(object source, View.TouchEventArgs e)
- {
- if (e.Touch.GetState(0) == PointStateType.Down)
- {
- if (onceFlag == false)
- {
- onceFlag = true;
- timer.Start();
-
- Tizen.Log.Debug("NUITEST", "TEST IS STARTED");
- }
- }
- return true;
- }
-
- private bool RootView_KeyEvent(object source, View.KeyEventArgs e)
- {
- if (e.Key.State == Key.StateType.Down)
- {
- if (e.Key.KeyPressedName == "Return")
- {
- timer.Start();
-
- Tizen.Log.Debug("NUITEST", $"TEST IS STARTED rootView's child cnt={rootView.ChildCount}");
- }
- }
-
- return false;
- }
-
- private bool Timer_Tick(object source, Timer.TickEventArgs e)
- {
- GC.Collect();
- GC.WaitForPendingFinalizers();
-
- if (currentTestCount == numberOfTestCount)
- {
- Tizen.Log.Debug("NUITEST", $"TEST IS FINISHED. rootView's child cnt={rootView.ChildCount}");
- onceFlag = false;
- currentTestCount = 0;
- return false;
- }
-
- if (currentTestCount % 2 == 0)
- {
- DestroyViews();
- }
- else
- {
- CreateViews();
- }
-
- currentTestCount++;
-
- return true;
- }
-
- View[] viewArray = new View[numberOfViews];
- bool workingFlag = false;
- private void CreateViews()
- {
- Tizen.Log.Debug("NUITEST", $"CreateViews() start, numberOfViews={numberOfViews}, rootView's child cnt={rootView.ChildCount}");
- if (workingFlag)
- {
- Tizen.Log.Debug("NUITEST", $"@@err CreateViews() working now! just return!");
- return;
- }
- workingFlag = true;
-
- for (uint i = 0; i < numberOfViews; i++)
- {
- View v = new View()
- {
- Size = new Size(20, 20),
- BackgroundColor = Color.Green
- };
- rootView.Add(v);
-
- //check ref count
- //viewArray[i] = v;
- //RefObject ro = v.GetObjectPtr();
- //RefObject rv = rootView.GetObjectPtr();
- //Tizen.Log.Debug("NUITEST", $"1) child.count={ro.ReferenceCount()}, parent cnt={rv.ReferenceCount()}");
- }
- Tizen.Log.Debug("NUITEST", $"CreateViews() end rootView's child cnt={rootView.ChildCount}\n");
- workingFlag = false;
- }
-
- private void DestroyViews()
- {
- if (workingFlag)
- {
- Tizen.Log.Debug("NUITEST", $"@@err DestroyViews() working now! just return!");
- return;
- }
- workingFlag = true;
-
- if (rootView != null)
- {
- if (rootView.ChildCount > 0)
- {
- Tizen.Log.Debug("NUITEST", $"DestroyViews() start, rootView.ChildCount={rootView.ChildCount}");
- for (int i = (int)rootView.ChildCount - 1; i >= 0; i--)
- {
- View v = rootView.GetChildAt((uint)i);
- v.Unparent();
- v.Dispose();
- }
- Tizen.Log.Debug("NUITEST", $"DestroyViews() end, rootView.ChildCount={rootView.ChildCount} \n");
- }
- //check ref count
- //for (uint i = 0; i < numberOfViews; i++)
- //{
- // View v = viewArray[i];
- // if(v != null)
- // {
- // RefObject ro = v.GetObjectPtr();
- // RefObject rv = rootView.GetObjectPtr();
-
- // Tizen.Log.Debug("NUITEST", $"1) child.count={ro.ReferenceCount()}, parent cnt={rv.ReferenceCount()}");
-
- // v.Dispose();
- // viewArray[i] = v = null;
- // }
- //}
- }
- workingFlag = false;
- }
- }
-}
--- /dev/null
+using NUnit.Framework;
+using NUnit.Framework.TUnit;
+using System;
+using Tizen.NUI.Components;
+using Tizen.NUI.BaseComponents;
+using global::System.Resources;
+
+namespace Tizen.NUI.Devel.Tests
+{
+ [TestFixture]
+ [Description("TSButton Example Tests")]
+ public class ButtonTests
+ {
+ private const string TAG = "NUITEST";
+ private string _image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
+
+ [SetUp]
+ public void Init()
+ {
+ Tizen.Log.Info(TAG, "Init() is called!");
+ }
+
+ [TearDown]
+ public void Destroy()
+ {
+ Tizen.Log.Info(TAG, "Destroy() is called!");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Button empty constructor. Check it has been triggered")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.Button C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("COVPARAM", "")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void Button_CHECK_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be an instance of Button!");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P2")]
+ [Description("Check exception when constructing a Button with nonexistent style.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.Button C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTX")]
+ [Property("COVPARAM", "string")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void Button_INIT_WITH_STRING_Exception()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Button("defaultButtonX");
+ Assert.Fail("Should throw the Exception: There is no style of defaultButtonX !");
+ }
+ catch (InvalidOperationException e)
+ {
+ Assert.Pass("InvalidOperationException: passed!");
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Button constructor using style. Check it has been triggered")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.Button C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("COVPARAM", "ButtonStyle")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void Button_INIT_WITH_STYLE()
+ {
+ /* TEST CODE */
+ var style = new ButtonStyle();
+ Assert.IsNotNull(style, "Should be not null!");
+ Assert.IsInstanceOf<ButtonStyle>(style, "Should be an instance of ButtonStyle!");
+
+ var button = new Button(style);
+ Assert.IsNotNull(button, "Should be not null!");
+ Assert.IsInstanceOf<Button>(button, "Should be an instance of Button!");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Style. Check whether Style is readable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.Style A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void Style_CHECK_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be an instance of Button!");
+
+ var style = button.Style;
+ Assert.IsNotNull(style, "Should be not null");
+ Assert.IsInstanceOf<ButtonStyle>(style, "Should be an instance of ButtonStyle!");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test IsSelectable. Check whether IsSelectable is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IsSelectable A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void IsSelectable_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.IsSelectable = true;
+ Assert.AreEqual(true, button.IsSelectable, "Should be equals to the set value");
+ button.IsSelectable = false;
+ Assert.AreEqual(false, button.IsSelectable, "Should be equals to the set value");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Text. Check whether Text is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.Text A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void Text_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.Text = "Test Text";
+ Assert.AreEqual("Test Text", button.Text, "Should be equals to the set value of Text");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test TranslatableText. Check whether TranslatableText is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TranslatableText A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TranslatableText_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ if (NUIApplication.MultilingualResourceManager != null)
+ {
+ button.TranslatableText = "Test TranslatableText";
+ Assert.AreEqual("Test TranslatableText", button.TranslatableText, "Should be equals to the set value of TranslatableText");
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test PointSize. Check whether PointSize is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.PointSize A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void PointSize_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.PointSize = 10.0f;
+ Assert.AreEqual(10.0f, button.PointSize, "Should be equals to the set value of PointSize");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test FontFamily. Check whether FontFamily is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.FontFamily A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void FontFamily_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.FontFamily = "SamsungOne 500";
+ Assert.AreEqual("SamsungOne 500", button.FontFamily, "Should be equals to the set value of FontFamily");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test TextColor. Check whether TextColor is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextColor A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TextColor_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ var color = new Color(1.0f, 0.0f, 0.0f, 1.0f);
+ Assert.IsNotNull(color, "Should be not null");
+ Assert.IsInstanceOf<Color>(color, "Should be equal!");
+ button.TextColor = color;
+
+ Assert.AreEqual(color.R, button.TextColor.R, "Should be equals to the color.R set");
+ Assert.AreEqual(color.G, button.TextColor.G, "Should be equals to the color.G set");
+ Assert.AreEqual(color.B, button.TextColor.B, "Should be equals to the color.B set");
+ Assert.AreEqual(color.A, button.TextColor.A, "Should be equals to the color.A set");
+
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test TextAlignment. Check whether TextAlignment is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextAlignment A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TextAlignment_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.TextAlignment = HorizontalAlignment.Begin;
+ Assert.AreEqual(HorizontalAlignment.Begin, button.TextAlignment, "Should be equals to the set value of TextAlignment");
+ button.TextAlignment = HorizontalAlignment.Center;
+ Assert.AreEqual(HorizontalAlignment.Center, button.TextAlignment, "Should be equals to the set value of TextAlignment");
+ button.TextAlignment = HorizontalAlignment.End;
+ Assert.AreEqual(HorizontalAlignment.End, button.TextAlignment, "Should be equals to the set value of TextAlignment");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test IconURL. Check whether IconURL is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IconURL A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void IconURL_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.IconURL = _image_path;
+ Assert.AreEqual(_image_path, button.IconURL, "Should be equals to the set value of IconURL");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test TextSelector. Check whether TextSelector is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TextSelector_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ var stringSelector = new StringSelector
+ {
+ Normal = "Normal",
+ Selected = "Selected",
+ };
+ Assert.IsNotNull(stringSelector, "Should be not null");
+ Assert.IsInstanceOf<StringSelector>(stringSelector, "Should be equal!");
+
+ button.TextSelector = stringSelector;
+ Assert.AreEqual(stringSelector.Normal, button.TextSelector.Normal, "Should be equals to the set value of TextSelector");
+ Assert.AreEqual(stringSelector.Selected, button.TextSelector.Selected, "Should be equals to the set value of TextSelector");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P2")]
+ [Description("Check exception when TextSelector receive a null value.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PEX")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TextSelector_SET_GET_VALUE_Exception()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.TextSelector = null;
+ Assert.Fail("Should throw the NullReferenceException!");
+ }
+ catch (NullReferenceException e)
+ {
+ Assert.Pass("NullReferenceException: passed!");
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test TranslatableTextSelector. Check whether TranslatableTextSelector is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TranslatableTextSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TranslatableTextSelector_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ ResourceManager testRm = new ResourceManager("Tizen.NUI.Devel.Tests.Properties.Resources", typeof(ButtonTests).Assembly);
+ NUIApplication.MultilingualResourceManager = testRm;
+
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ var stringSelector = new StringSelector
+ {
+ Normal = "Normal",
+ Selected = "Selected",
+ };
+ Assert.IsNotNull(stringSelector, "Should be not null");
+ Assert.IsInstanceOf<StringSelector>(stringSelector, "Should be equal!");
+
+ button.TranslatableTextSelector = stringSelector;
+ Assert.AreEqual(stringSelector.Normal, button.TranslatableTextSelector.Normal, "Should be equals to the set value of TranslatableTextSelector");
+ Assert.AreEqual(stringSelector.Selected, button.TranslatableTextSelector.Selected, "Should be equals to the set value of TranslatableTextSelector");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P2")]
+ [Description("Check exception when TranslatableTextSelector receive a null value.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TranslatableTextSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PEX")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TranslatableTextSelector_SET_GET_VALUE_Exception()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.TranslatableTextSelector = null;
+ Assert.Fail("Should throw the NullReferenceException!");
+ }
+ catch (NullReferenceException e)
+ {
+ Assert.Pass("NullReferenceException: passed!");
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test TextColorSelector. Check whether TextColorSelector is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextColorSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TextColorSelector_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ var colorSelector = new ColorSelector
+ {
+ Normal = new Color(0.0f, 0.0f, 1.0f, 1.0f),
+ Selected = new Color(0.0f, 1.0f, 0.0f, 1.0f),
+ };
+ Assert.IsNotNull(colorSelector, "Should be not null");
+ Assert.IsInstanceOf<ColorSelector>(colorSelector, "Should be equal!");
+
+ button.TextColorSelector = colorSelector;
+ Assert.AreEqual(colorSelector.Normal.R, button.TextColorSelector.Normal.R, "Should be equals to the set value of TextColorSelector Normal R");
+ Assert.AreEqual(colorSelector.Normal.G, button.TextColorSelector.Normal.G, "Should be equals to the set value of TextColorSelector Normal G");
+ Assert.AreEqual(colorSelector.Normal.B, button.TextColorSelector.Normal.B, "Should be equals to the set value of TextColorSelector Normal B");
+ Assert.AreEqual(colorSelector.Normal.A, button.TextColorSelector.Normal.A, "Should be equals to the set value of TextColorSelector Normal A");
+
+ Assert.AreEqual(colorSelector.Selected.R, button.TextColorSelector.Selected.R, "Should be equals to the set value of TextColorSelector Selected R");
+ Assert.AreEqual(colorSelector.Selected.G, button.TextColorSelector.Selected.G, "Should be equals to the set value of TextColorSelector Selected G");
+ Assert.AreEqual(colorSelector.Selected.B, button.TextColorSelector.Selected.B, "Should be equals to the set value of TextColorSelector Selected B");
+ Assert.AreEqual(colorSelector.Selected.A, button.TextColorSelector.Selected.A, "Should be equals to the set value of TextColorSelector Selected A");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P2")]
+ [Description("Check exception when TextColorSelector receive a null value.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextColorSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PEX")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void TextColorSelector_SET_GET_VALUE_Exception()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.TextColorSelector = null;
+ Assert.Fail("Should throw the NullReferenceException!");
+ }
+ catch (NullReferenceException e)
+ {
+ Assert.Pass("NullReferenceException: passed!");
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test PointSizeSelector. Check whether PointSizeSelector is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.PointSizeSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void PointSizeSelector_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ var floatSelector = new FloatSelector
+ {
+ Normal = 10.0f,
+ Selected = 12.0f,
+ };
+ Assert.IsNotNull(floatSelector, "Should be not null");
+ Assert.IsInstanceOf<FloatSelector>(floatSelector, "Should be equal!");
+
+ button.PointSizeSelector = floatSelector;
+ Assert.AreEqual(floatSelector.Normal, button.PointSizeSelector.Normal, "Should be equals to the set value of PointSizeSelector Normal");
+ Assert.AreEqual(floatSelector.Selected, button.PointSizeSelector.Selected, "Should be equals to the set value of PointSizeSelector Selected");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P2")]
+ [Description("Check exception when PointSizeSelector receive a null value.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.PointSizeSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PEX")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void PointSizeSelector_SET_GET_VALUE_Exception()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.PointSizeSelector = null;
+ Assert.Fail("Should throw the NullReferenceException!");
+ }
+ catch (NullReferenceException e)
+ {
+ Assert.Pass("NullReferenceException: passed!");
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test IconURLSelector. Check whether IconURLSelector is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IconURLSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void IconURLSelector_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ var stringSelector = new StringSelector
+ {
+ Normal = _image_path,
+ Selected = _image_path,
+ };
+ Assert.IsNotNull(stringSelector, "Should be not null");
+ Assert.IsInstanceOf<StringSelector>(stringSelector, "Should be equal!");
+
+ button.IconURLSelector = stringSelector;
+ Assert.AreEqual(stringSelector.Normal, button.IconURLSelector.Normal, "Should be equals to the set value of IconURLSelector Normal");
+ Assert.AreEqual(stringSelector.Selected, button.IconURLSelector.Selected, "Should be equals to the set value of IconURLSelector Selected");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P2")]
+ [Description("Check exception when IconURLSelector receive a null value.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IconURLSelector A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PEX")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void IconURLSelector_SET_GET_VALUE_Exception()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.IconURLSelector = null;
+ Assert.Fail("Should throw the NullReferenceException!");
+ }
+ catch (NullReferenceException e)
+ {
+ Assert.Pass("NullReferenceException: passed!");
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test IsSelected. Check whether IsSelected is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IsSelected A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void IsSelected_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.IsSelectable = true;
+ button.IsSelected = true;
+ Assert.AreEqual(true, button.IsSelected, "Retrieved IsSelected should be equal to set value");
+ button.IsSelected = false;
+ Assert.AreEqual(false, button.IsSelected, "Retrieved IsSelected should be equal to set value");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test IsEnabled. Check whether IsEnabled is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IsEnabled A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void IsEnabled_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.IsEnabled = true;
+ Assert.AreEqual(true, button.IsEnabled, "Retrieved IsEnabled should be equal to set value");
+ button.IsEnabled = false;
+ Assert.AreEqual(false, button.IsEnabled, "Retrieved IsEnabled should be equal to set value");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test IconPadding. Check whether IconPadding is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IconPadding A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void IconPadding_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.IconPadding = new Extents(0, 0, 10, 10);
+ Assert.AreEqual(0, button.IconPadding.Start, "Retrieved IconPadding.Start should be equal to set value");
+ Assert.AreEqual(0, button.IconPadding.End, "Retrieved IconPadding.End should be equal to set value");
+ Assert.AreEqual(10, button.IconPadding.Top, "Retrieved IconPadding.Top should be equal to set value");
+ Assert.AreEqual(10, button.IconPadding.Bottom, "Retrieved IconPadding.Bottom should be equal to set value");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test TextPadding. Check whether TextPadding is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextPadding A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void TextPadding_SET_GET_VALUE()
+ {
+ /* TEST CODE */
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ button.TextPadding = new Extents(0, 0, 10, 10);
+ Assert.AreEqual(0, button.TextPadding.Start, "Retrieved TextPadding.Start should be equal to set value");
+ Assert.AreEqual(0, button.TextPadding.End, "Retrieved TextPadding.End should be equal to set value");
+ Assert.AreEqual(10, button.TextPadding.Top, "Retrieved TextPadding.Top should be equal to set value");
+ Assert.AreEqual(10, button.TextPadding.Bottom, "Retrieved TextPadding.Bottom should be equal to set value");
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test OnKey. Check return the right value or not")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.OnKey M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MR")]
+ [Property("AUTHOR", "Ma Junqing, junqing.ma@samsung.com")]
+ public void OnKey_CHECK_RETURN_VALUE()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Components.Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+
+ bool flag = true;
+ flag = button.OnKey(new Key());
+ Assert.AreEqual(false, flag, "OnKey return check fail.");
+ }
+ catch (Exception e)
+ {
+ Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Dispose, try to dispose the Button.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.Dispose M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MCST")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void Dispose_TEST()
+ {
+ /* TEST CODE */
+ try
+ {
+ Button button = new Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should be equal!");
+ button.Dispose();
+ }
+ catch (Exception e)
+ {
+ Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test ApplyStyle. Check whether ApplyStyle works or not.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.ApplyStyle M")]
+ [Property("SPEC_URL", " - ")]
+ [Property("CRITERIA", "MR")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void ApplyStyle_NO_RETURN_VALUE()
+ {
+ try
+ {
+ var button = new Button();
+ var style = new ButtonStyle();
+ button.ApplyStyle(style);
+ }
+ catch (Exception e)
+ {
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test CreateViewStyle. Check whether CreateViewStyle works or not.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.CreateViewStyle M")]
+ [Property("SPEC_URL", " - ")]
+ [Property("CRITERIA", "MR")]
+ [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")]
+ public void CreateViewStyle_CHECK_RETURN_VALUE()
+ {
+ try
+ {
+ var button = new MyButton();
+ ViewStyle style = button.CreateMyViewStyle();
+ Assert.IsNotNull(style, "Should be not null");
+ }
+ catch (Exception e)
+ {
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Button's icon part. Check whether null or not")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.Icon A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
+ public void Icon_TEST()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
+ Assert.IsNotNull(button.Icon, "Should be not null");
+ Assert.IsInstanceOf<ImageView>(button.Icon, "Should return ImageView instance");
+ button.Dispose();
+ }
+ catch (Exception e)
+ {
+ Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Button's overlay image part. Check whether null or not")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.OverlayImage A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
+ public void OverlayImage_TEST()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
+ Assert.IsNotNull(button.OverlayImage, "Should be not null");
+ Assert.IsInstanceOf<ImageView>(button.OverlayImage, "Should return ImageView instance");
+ button.Dispose();
+ }
+ catch (Exception e)
+ {
+ Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Button's text part. Check whether null or not")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.TextLabel A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
+ public void TextLabel_TEST()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
+ Assert.IsNotNull(button.TextLabel, "Should be not null");
+ Assert.IsInstanceOf<TextLabel>(button.TextLabel, "Should return TextLabel instance");
+ button.Dispose();
+ }
+ catch (Exception e)
+ {
+ Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Test Icon relative orientation in Button. Check whether IconRelativeOrientation is readable and writable.")]
+ [Property("SPEC", "Tizen.NUI.Components.Button.IconRelativeOrientation A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "Zhou Lei, zhouleon.lei@samsung.com")]
+ public void IconRelativeOrientation_TEST()
+ {
+ /* TEST CODE */
+ try
+ {
+ var button = new Button();
+ Assert.IsNotNull(button, "Should be not null");
+ Assert.IsInstanceOf<Components.Button>(button, "Should return Button instance");
+ button.IconRelativeOrientation = Button.IconOrientation.Top;
+ Assert.AreEqual(Button.IconOrientation.Top, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
+ button.IconRelativeOrientation = Button.IconOrientation.Bottom;
+ Assert.AreEqual(Button.IconOrientation.Bottom, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
+ button.IconRelativeOrientation = Button.IconOrientation.Left;
+ Assert.AreEqual(Button.IconOrientation.Left, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
+ button.IconRelativeOrientation = Button.IconOrientation.Right;
+ Assert.AreEqual(Button.IconOrientation.Right, button.IconRelativeOrientation, "Should be equals to the set value of IconRelativeOrientation");
+ button.Dispose();
+ }
+ catch (Exception e)
+ {
+ Tizen.Log.Error(TAG, "Caught Exception" + e.ToString());
+ LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+ Assert.Fail("Caught Exception" + e.ToString());
+ }
+ }
+
+ public class MyButton : Button
+ {
+ public MyButton() : base() { }
+
+ public ViewStyle CreateMyViewStyle()
+ {
+ return base.CreateViewStyle();
+ }
+ }
+
+ public class DefaultButtonStyle : StyleBase
+ {
+ protected override ViewStyle GetViewStyle()
+ {
+ return new ButtonStyle();
+ }
+ }
+ }
+}
--- /dev/null
+using NUnit.Framework;
+using System;
+using Tizen.NUI.BaseComponents;
+using System.Threading.Tasks;
+
+namespace Tizen.NUI.Devel.Tests
+{
+ using L = Tizen.Log;
+
+ [TestFixture]
+ public class LottieAnimationViewTests
+ {
+ private string tag = "NUITEST";
+ private string lottieFilePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource;
+ private bool finishedCheck = false;
+
+ [SetUp]
+ public void Init()
+ {
+ }
+
+ [TearDown]
+ public void Destroy()
+ {
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("LottieAnimationView constructor test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.LottieAnimationView C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void LottieAnimationView_INIT()
+ {
+ L.Debug(tag, $" LottieAnimationView_INIT() ");
+
+ var lottie = new LottieAnimationView();
+ Assert.IsNotNull(lottie, "null handle");
+ Assert.IsInstanceOf<LottieAnimationView>(lottie, "should be LottieAnimationView instance.");
+
+ var lottie2 = new LottieAnimationView(2.0f);
+ Assert.IsNotNull(lottie2, "null handle");
+ Assert.IsInstanceOf<LottieAnimationView>(lottie2, "should be LottieAnimationView instance.");
+
+ var lottie3 = new LottieAnimationView(3.0f, false);
+ Assert.IsNotNull(lottie3, "null handle");
+ Assert.IsInstanceOf<LottieAnimationView>(lottie3, "should be LottieAnimationView instance.");
+
+ lottie.Dispose();
+ lottie2.Dispose();
+ lottie3.Dispose();
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("URL test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.URL A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task URL_SET_GET_VALUE()
+ {
+ L.Debug(tag, $" URL_SET_GET_VALUE() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ Assert.IsTrue(lottieFilePath + "/lottie.json" == lottie.URL, "should be same as previously set value");
+
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("PlayState test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.PlayState A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PR0")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task PlayState_GET_VALUE()
+ {
+ L.Debug(tag, $" PlayState_GET_VALUE() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ await Task.Delay(500);
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ // PlayStateType.Invalid is impossible to check and test. the state comes from dali native but it never gives Invalid value. it is reserved enum for the future change.
+
+ lottie.Play();
+ await Task.Delay(100);
+ Assert.IsTrue(lottie.PlayState == LottieAnimationView.PlayStateType.Playing, "should be same as previously set value");
+
+ lottie.Pause();
+ await Task.Delay(100);
+
+ Assert.IsTrue(lottie.PlayState == LottieAnimationView.PlayStateType.Paused, "should be same as previously set value");
+
+ lottie.Stop();
+ await Task.Delay(100);
+
+ Assert.IsTrue(lottie.PlayState == LottieAnimationView.PlayStateType.Stopped, "should be same as previously set value");
+
+ // PlayStateType.Invalid is impossible to check and test. the state comes from dali native but it never gives Invalid value. it is reserved enum for the future change.
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("TotalFrame test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.TotalFrame A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task TotalFrame_GET_VALUE()
+ {
+ L.Debug(tag, $" TotalFrame_GET_VALUE() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ lottie.Stop();
+ const int fixedTotalFrameOfLottieFile = 124; // this 124 value is fixed one, that is lottie.json file were created as 124 frames originally. obviously it varies by lottile resource file.
+
+ L.Debug(tag, $"total frame={lottie.TotalFrame}");
+ // this 124 value is fixed one, that is lottie.json file were created as 124 frames originally. obviously it varies by lottile resource file.
+ Assert.IsTrue(fixedTotalFrameOfLottieFile == lottie.TotalFrame, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("CurrentFrame test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.CurrentFrame A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task CurrentFrame_SET_GET_VALUE()
+ {
+ L.Debug(tag, $" CurrentFrame_SET_GET_VALUE() ");
+
+ var lottie = new LottieAnimationView();
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+
+ var current = 3;
+ lottie.CurrentFrame = current;
+ await Task.Delay(1000);
+ Assert.IsTrue(current == lottie.CurrentFrame, "should be same as previously set value");
+
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("LoopingMode test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.LoopingMode A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task LoopingMode_SET_GET_VALUE()
+ {
+ L.Debug(tag, $" LoopingMode_SET_GET_VALUE() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ await Task.Delay(500);
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ var loopingMode = LottieAnimationView.LoopingModeType.AutoReverse;
+ lottie.LoopingMode = loopingMode;
+ Assert.IsTrue(loopingMode == lottie.LoopingMode);
+
+ loopingMode = LottieAnimationView.LoopingModeType.Restart;
+ lottie.LoopingMode = loopingMode;
+ Assert.IsTrue(loopingMode == lottie.LoopingMode);
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("LoopCount test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.LoopCount A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task LoopCount_SET_GET_VALUE()
+ {
+ L.Debug(tag, $" LoopCount_SET_GET_VALUE() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie2.json";
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ var loopCount = -1;
+ lottie.LoopCount = loopCount;
+ Assert.IsTrue(loopCount == lottie.LoopCount, "should be same as previously set value");
+
+ loopCount = 7;
+ lottie.LoopCount = loopCount;
+ Assert.IsTrue(loopCount == lottie.LoopCount, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("StopBehavior test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.StopBehavior A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task StopBehavior_SET_GET_VALUE()
+ {
+ L.Debug(tag, $" StopBehavior_SET_GET_VALUE() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ await Task.Delay(500);
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ var stopBehavior = LottieAnimationView.StopBehaviorType.MaximumFrame;
+
+ lottie.StopBehavior = stopBehavior;
+ Assert.IsTrue(stopBehavior == lottie.StopBehavior, "should be same as previously set value");
+
+ stopBehavior = LottieAnimationView.StopBehaviorType.CurrentFrame;
+ lottie.StopBehavior = stopBehavior;
+ Assert.IsTrue(stopBehavior == lottie.StopBehavior, "should be same as previously set value");
+
+ stopBehavior = LottieAnimationView.StopBehaviorType.MinimumFrame;
+ lottie.StopBehavior = stopBehavior;
+ Assert.IsTrue(stopBehavior == lottie.StopBehavior, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("RedrawInScalingDown test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.RedrawInScalingDown A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task RedrawInScalingDown_SET_GET_VALUE()
+ {
+ L.Debug(tag, $" RedrawInScalingDown_SET_GET_VALUE() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ await Task.Delay(500);
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ var redraw = false;
+
+ lottie.RedrawInScalingDown = redraw;
+ Assert.IsTrue(redraw == lottie.RedrawInScalingDown, "should be same as previously set value");
+
+ redraw = true;
+ lottie.RedrawInScalingDown = redraw;
+ Assert.IsTrue(redraw == lottie.RedrawInScalingDown, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("SetMinMaxFrame test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.SetMinMaxFrame M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MAR")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task SetMinMaxFrame_CHECK()
+ {
+ L.Debug(tag, $" SetMinMaxFrame_CHECK() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ await Task.Delay(500);
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ var min = 5;
+ var max = 9;
+ lottie.SetMinMaxFrame(min, max);
+ await Task.Delay(300);
+
+ lottie.StopBehavior = LottieAnimationView.StopBehaviorType.MinimumFrame;
+ lottie.Play();
+ await Task.Delay(300);
+ L.Debug(tag, $"1. stop behavior ={lottie.StopBehavior} total frame={lottie.TotalFrame}");
+ lottie.Stop();
+ await Task.Delay(300);
+
+ L.Debug(tag, $"2. current frame={lottie.CurrentFrame}, min={min}, max={max}");
+ Assert.IsTrue(min == lottie.CurrentFrame, "should be same as previously set value");
+
+ lottie.StopBehavior = LottieAnimationView.StopBehaviorType.MaximumFrame;
+ lottie.Play();
+ await Task.Delay(300);
+ L.Debug(tag, $"2-1. stop behavior ={lottie.StopBehavior}");
+ lottie.Stop();
+ await Task.Delay(300);
+
+ L.Debug(tag, $"3. current frame={lottie.CurrentFrame}, min={min}, max={max}");
+ Assert.IsTrue(max == lottie.CurrentFrame, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Play test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Play M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MCST")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task Play_CHECK()
+ {
+ L.Debug(tag, $" Play_CHECK() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ lottie.LoopCount = -1;
+ lottie.Play();
+ await Task.Delay(100);
+
+ L.Debug(tag, $"state={lottie.PlayState}");
+ Assert.IsTrue(LottieAnimationView.PlayStateType.Playing == lottie.PlayState, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Pause test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Pause M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MCST")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task Pause_CHECK()
+ {
+ L.Debug(tag, $" Pause_CHECK() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ lottie.LoopCount = -1;
+ lottie.Play();
+ await Task.Delay(100);
+
+ lottie.Pause();
+ await Task.Delay(100);
+
+ L.Debug(tag, $"state={lottie.PlayState}, delay 100ms");
+ Assert.IsTrue(LottieAnimationView.PlayStateType.Paused == lottie.PlayState, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Stop test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Stop M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MCST")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task Stop_CHECK()
+ {
+ L.Debug(tag, $" Stop_CHECK() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ lottie.LoopCount = -1;
+ lottie.Play();
+ lottie.Stop();
+ await Task.Delay(100);
+
+ L.Debug(tag, $"state={lottie.PlayState}");
+ Assert.IsTrue(LottieAnimationView.PlayStateType.Stopped == lottie.PlayState, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("GetContentInfo test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.GetContentInfo M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MR")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task GetContentInfo_CHECK()
+ {
+ L.Debug(tag, $" GetContentInfo_CHECK() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ // this content info values are fixed ones, that were written in lottie.json file created as like that originally. obviously these vary by lottile resource file.
+ const string firstContentInfo = ".chris-gannon-instagram-lottie";
+ const int secondContentInfo = 0;
+ const int thirdContentInfo = 124;
+
+ var fixedContentInfoOfLottieFile = lottie.GetContentInfo();
+
+ // this content info values are fixed ones, that were written in lottie.json file created as like that originally. obviously these vary by lottile resource file.
+ Assert.IsTrue(fixedContentInfoOfLottieFile[0].Item1 == firstContentInfo, "should be same as previously set value");
+ Assert.IsTrue(fixedContentInfoOfLottieFile[0].Item2 == secondContentInfo, "should be same as previously set value");
+ Assert.IsTrue(fixedContentInfoOfLottieFile[0].Item3 == thirdContentInfo, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("Finished test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.Finished E")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "EVL")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task Finished_CHECK_EVENT()
+ {
+ L.Debug(tag, $" Finished_CHECK_EVENT() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie2.json";
+ await Task.Delay(500);
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ await Task.Delay(500);
+
+ finishedCheck = false;
+ lottie.LoopCount = 1;
+ lottie.Finished += Lottie_Finished;
+
+ lottie.Play();
+
+ L.Debug(tag, $"1. playState={lottie.PlayState}");
+ var lottieFilesPlayDuration = 2000;
+ await Task.Delay(lottieFilesPlayDuration);
+
+ L.Debug(tag, $"2. playState={lottie.PlayState}");
+ if (lottie.PlayState != LottieAnimationView.PlayStateType.Stopped)
+ {
+ L.Debug(tag, $"3. it's not yet stopped! playState={lottie.PlayState}, stop here again.");
+ lottie.Stop();
+ await Task.Delay(1000);
+ L.Debug(tag, $"4. it's not yet stopped! playState={lottie.PlayState}, stop here again.");
+ }
+ Assert.IsTrue(finishedCheck, $"should be same as previously set value, state={lottie.PlayState}");
+
+ L.Debug(tag, $"5. playState={lottie.PlayState}");
+
+ lottie.Finished -= Lottie_Finished;
+ lottie.Unparent();
+ lottie.Dispose();
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+
+ private void Lottie_Finished(object sender, EventArgs e)
+ {
+ L.Debug(tag, $"Finished callback came!");
+ finishedCheck = true;
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("RedrawInScalingDown animation test")]
+ [Property("SPEC", "Tizen.NUI.BaseComponents.LottieAnimationView.RedrawInScalingDown A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRW")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public async Task RedrawInScalingDown_AnimationTest()
+ {
+ L.Debug(tag, $" RedrawInScalingDown_AnimationTest() ");
+ await Task.Delay(500);
+
+ var lottie = new LottieAnimationView();
+ var lottieRedrawTrue = new LottieAnimationView();
+ await Task.Delay(500);
+
+ lottie.URL = lottieFilePath + "/lottie.json";
+ lottieRedrawTrue.URL = lottieFilePath + "/lottie.json";
+ await Task.Delay(500);
+
+ NUIApplication.GetDefaultWindow().Add(lottie);
+ NUIApplication.GetDefaultWindow().Add(lottieRedrawTrue);
+ await Task.Delay(500);
+
+ lottie.Size = new Size(1000, 1000);
+ lottie.Position = new Position(0, 0);
+ lottie.LoopCount = -1;
+ lottie.Play();
+
+ lottieRedrawTrue.Size = new Size(1000, 1000);
+ lottieRedrawTrue.Position = new Position(1000, 10);
+ lottieRedrawTrue.LoopCount = -1;
+ lottieRedrawTrue.Play();
+
+ await Task.Delay(1000);
+
+ var redraw = false;
+ var redraw2 = true;
+ lottie.RedrawInScalingDown = redraw;
+ lottieRedrawTrue.RedrawInScalingDown = redraw2;
+
+ for (int i = 1000; i > 100; i -= 10)
+ {
+ lottie.Size = new Size(i, i, 0);
+ lottieRedrawTrue.Size = new Size(i, i, 0);
+ await Task.Delay(100);
+ }
+
+ await Task.Delay(9000);
+
+ Assert.IsTrue(redraw == lottie.RedrawInScalingDown, "should be same as previously set value");
+ Assert.IsTrue(redraw2 == lottieRedrawTrue.RedrawInScalingDown, "should be same as previously set value");
+
+ L.Debug(tag, $"if some fail comes above, this will be not be shown!");
+ lottie.Unparent();
+ lottie.Dispose();
+
+ lottieRedrawTrue.Unparent();
+ lottieRedrawTrue.Dispose();
+
+ L.Debug(tag, $"lottie.Dispose() called");
+ await Task.Delay(500);
+ }
+ }
+}
--- /dev/null
+
+using NUnit.Framework;
+using NUnit.Framework.TUnit;
+using System;
+using Tizen.NUI.Components;
+using Tizen.NUI.BaseComponents;
+using global::System.Resources;
+
+namespace Tizen.NUI.Devel.Tests
+{
+ [TestFixture]
+ [Description("View memory leak Tests")]
+ public class ViewMemoryLeakTests
+ {
+ private const string TAG = "NUITEST";
+
+ [SetUp]
+ public void Init()
+ {
+ }
+
+ [TearDown]
+ public void Destroy()
+ {
+ }
+
+#if (EXAMPLE)
+ [Test]
+#endif
+ [Category("P1")]
+ [Description("view memory leak test")]
+ [Property("SPEC", "local test")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "local test")]
+ [Property("COVPARAM", "")]
+ [Property("AUTHOR", "dongsug.song")]
+ public void ViewMemoryLeakTest()
+ {
+ /* TEST CODE */
+ test1();
+ }
+
+ private View rootView;
+ private Timer timer;
+ private const uint numberOfTestCount = 1000;
+ private const uint numberOfViews = 500;
+ private int currentTestCount = 0;
+
+ private TextLabel doGC, add500views, remove500views;
+ void test1()
+ {
+ rootView = new View();
+ rootView.Size2D = new Size2D(100, 100);
+ rootView.Position2D = new Position2D(70, 70);
+ rootView.Focusable = true;
+ rootView.BackgroundColor = Color.Red;
+ rootView.KeyEvent += RootView_KeyEvent;
+ rootView.TouchEvent += RootView_TouchEvent;
+
+ Window.Instance.GetDefaultLayer().Add(rootView);
+
+ FocusManager.Instance.SetCurrentFocusView(rootView);
+
+ CreateViews();
+
+ timer = new Timer(1000);
+ timer.Tick += Timer_Tick;
+
+ doGC = new TextLabel()
+ {
+ Size = new Size(200, 100),
+ Position = new Position(500, 500),
+ Text = "Do GC!",
+ BackgroundColor = Color.White,
+ };
+ doGC.TouchEvent += DoGC_TouchEvent;
+ Window.Instance.GetDefaultLayer().Add(doGC);
+
+ add500views = new TextLabel()
+ {
+ Size = new Size(200, 100),
+ Position = new Position(500, 700),
+ Text = "add500views",
+ BackgroundColor = Color.White,
+ };
+ add500views.TouchEvent += add500views_TouchEvent;
+ Window.Instance.GetDefaultLayer().Add(add500views);
+
+ remove500views = new TextLabel()
+ {
+ Size = new Size(200, 100),
+ Position = new Position(500, 900),
+ Text = "remove500views",
+ BackgroundColor = Color.White,
+ };
+ remove500views.TouchEvent += remove500views_TouchEvent;
+ Window.Instance.GetDefaultLayer().Add(remove500views);
+ }
+
+ private bool remove500views_TouchEvent(object source, View.TouchEventArgs e)
+ {
+ if (e.Touch.GetState(0) == PointStateType.Down)
+ {
+ Tizen.Log.Debug("NUITEST", "remove500views");
+ DestroyViews();
+ var me = source as TextLabel;
+ me.BackgroundColor = Color.Blue;
+ }
+ else
+ {
+ var me = source as TextLabel;
+ me.BackgroundColor = Color.White;
+ }
+ return true;
+ }
+
+ private bool add500views_TouchEvent(object source, View.TouchEventArgs e)
+ {
+ if (e.Touch.GetState(0) == PointStateType.Down)
+ {
+ Tizen.Log.Debug("NUITEST", "add500views");
+ CreateViews();
+ var me = source as TextLabel;
+ me.BackgroundColor = Color.Red;
+ }
+ else
+ {
+ var me = source as TextLabel;
+ me.BackgroundColor = Color.White;
+ }
+ return true;
+ }
+
+ private bool DoGC_TouchEvent(object source, View.TouchEventArgs e)
+ {
+ if (e.Touch.GetState(0) == PointStateType.Down)
+ {
+ Tizen.Log.Debug("NUITEST", "Do GC!");
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+
+ var me = source as TextLabel;
+ me.BackgroundColor = Color.Red;
+ }
+ else
+ {
+ var me = source as TextLabel;
+ me.BackgroundColor = Color.White;
+ }
+ return true;
+ }
+
+ bool onceFlag = false;
+ private bool RootView_TouchEvent(object source, View.TouchEventArgs e)
+ {
+ if (e.Touch.GetState(0) == PointStateType.Down)
+ {
+ if (onceFlag == false)
+ {
+ onceFlag = true;
+ timer.Start();
+
+ Tizen.Log.Debug("NUITEST", "TEST IS STARTED");
+ }
+ }
+ return true;
+ }
+
+ private bool RootView_KeyEvent(object source, View.KeyEventArgs e)
+ {
+ if (e.Key.State == Key.StateType.Down)
+ {
+ if (e.Key.KeyPressedName == "Return")
+ {
+ timer.Start();
+
+ Tizen.Log.Debug("NUITEST", $"TEST IS STARTED rootView's child cnt={rootView.ChildCount}");
+ }
+ }
+
+ return false;
+ }
+
+ private bool Timer_Tick(object source, Timer.TickEventArgs e)
+ {
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+
+ if (currentTestCount == numberOfTestCount)
+ {
+ Tizen.Log.Debug("NUITEST", $"TEST IS FINISHED. rootView's child cnt={rootView.ChildCount}");
+ onceFlag = false;
+ currentTestCount = 0;
+ return false;
+ }
+
+ if (currentTestCount % 2 == 0)
+ {
+ DestroyViews();
+ }
+ else
+ {
+ CreateViews();
+ }
+
+ currentTestCount++;
+
+ return true;
+ }
+
+ View[] viewArray = new View[numberOfViews];
+ bool workingFlag = false;
+ private void CreateViews()
+ {
+ Tizen.Log.Debug("NUITEST", $"CreateViews() start, numberOfViews={numberOfViews}, rootView's child cnt={rootView.ChildCount}");
+ if (workingFlag)
+ {
+ Tizen.Log.Debug("NUITEST", $"@@err CreateViews() working now! just return!");
+ return;
+ }
+ workingFlag = true;
+
+ for (uint i = 0; i < numberOfViews; i++)
+ {
+ View v = new View()
+ {
+ Size = new Size(20, 20),
+ BackgroundColor = Color.Green
+ };
+ rootView.Add(v);
+
+ //check ref count
+ //viewArray[i] = v;
+ //RefObject ro = v.GetObjectPtr();
+ //RefObject rv = rootView.GetObjectPtr();
+ //Tizen.Log.Debug("NUITEST", $"1) child.count={ro.ReferenceCount()}, parent cnt={rv.ReferenceCount()}");
+ }
+ Tizen.Log.Debug("NUITEST", $"CreateViews() end rootView's child cnt={rootView.ChildCount}\n");
+ workingFlag = false;
+ }
+
+ private void DestroyViews()
+ {
+ if (workingFlag)
+ {
+ Tizen.Log.Debug("NUITEST", $"@@err DestroyViews() working now! just return!");
+ return;
+ }
+ workingFlag = true;
+
+ if (rootView != null)
+ {
+ if (rootView.ChildCount > 0)
+ {
+ Tizen.Log.Debug("NUITEST", $"DestroyViews() start, rootView.ChildCount={rootView.ChildCount}");
+ for (int i = (int)rootView.ChildCount - 1; i >= 0; i--)
+ {
+ View v = rootView.GetChildAt((uint)i);
+ v.Unparent();
+ v.Dispose();
+ }
+ Tizen.Log.Debug("NUITEST", $"DestroyViews() end, rootView.ChildCount={rootView.ChildCount} \n");
+ }
+ //check ref count
+ //for (uint i = 0; i < numberOfViews; i++)
+ //{
+ // View v = viewArray[i];
+ // if(v != null)
+ // {
+ // RefObject ro = v.GetObjectPtr();
+ // RefObject rv = rootView.GetObjectPtr();
+
+ // Tizen.Log.Debug("NUITEST", $"1) child.count={ro.ReferenceCount()}, parent cnt={rv.ReferenceCount()}");
+
+ // v.Dispose();
+ // viewArray[i] = v = null;
+ // }
+ //}
+ }
+ workingFlag = false;
+ }
+ }
+}
--- /dev/null
+
+using global::System;
+using NUnit.Framework;
+using NUnit.Framework.TUnit;
+using Tizen.NUI.Components;
+using Tizen.NUI.BaseComponents;
+
+namespace Tizen.NUI.Devel.Tests
+{
+ using tlog = Tizen.Log;
+
+ [TestFixture]
+ [Description("internal/Accessibility/AccessibilityActionSignal")]
+ public class InternalAccessibilityActionSignalTest
+ {
+ private const string tag = "NUITEST";
+ private delegate bool dummyCallback(IntPtr accessibilityManager);
+ private bool OnDummyCallback(IntPtr data)
+ {
+ return false;
+ }
+
+ [SetUp]
+ public void Init()
+ {
+ tlog.Info(tag, "Init() is called!");
+ }
+
+ [TearDown]
+ public void Destroy()
+ {
+ tlog.Info(tag, "Destroy() is called!");
+ }
+
+ [Test]
+ [Description("AccessibilityActionSignal constructor")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityActionSignalConstructor()
+ {
+ tlog.Debug(tag, $"AccessibilityActionSignalConstructor START");
+
+ var testingTarget = new AccessibilityActionSignal();
+
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityActionSignal>(testingTarget, "should be an instance of testing target class!");
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"AccessibilityActionSignalConstructor END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityActionSignal Empty")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityActionSignalEmpty()
+ {
+ tlog.Debug(tag, $"AccessibilityActionSignalEmpty START");
+
+ var testingTarget = new AccessibilityActionSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityActionSignal>(testingTarget, "should be an instance of testing target class!");
+
+ var result = testingTarget.Empty();
+ Assert.IsTrue(result);
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"AccessibilityActionSignalEmpty END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityActionSignal GetConnectionCount")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityActionSignalGetConnectionCount()
+ {
+ tlog.Debug(tag, $"AccessibilityActionSignal_GetConnectionCount START");
+
+ var testingTarget = new AccessibilityActionSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityActionSignal>(testingTarget, "should be an instance of testing target class!");
+
+ var result = testingTarget.GetConnectionCount();
+ Assert.IsTrue(result == 0, "result should be 0");
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"AccessibilityActionSignalGetConnectionCount END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityActionSignal Connection")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityActionSignalConnection()
+ {
+ tlog.Debug(tag, $"AccessibilityActionSignalConnection START");
+
+ var testingTarget = new AccessibilityActionSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityActionSignal>(testingTarget, "should be an instance of testing target class!");
+
+ dummyCallback callback = OnDummyCallback;
+ testingTarget.Connect(callback);
+ testingTarget.Disconnect(callback);
+ testingTarget.Dispose();
+
+ tlog.Debug(tag, $"AccessibilityActionSignalConnection END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityActionSignal Disconnection")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityActionSignalDisconnection()
+ {
+ tlog.Debug(tag, $"AccessibilityActionSignalDisconnection START");
+
+ var testingTarget = new AccessibilityActionSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityActionSignal>(testingTarget, "should be an instance of testing target class!");
+
+ dummyCallback callback = OnDummyCallback;
+ testingTarget.Connect(callback);
+ testingTarget.Disconnect(callback);
+ testingTarget.Dispose();
+
+ tlog.Debug(tag, $"AccessibilityActionSignalDisconnection END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityActionSignal Emit")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityActionSignalEmit()
+ {
+ tlog.Debug(tag, $"AccessibilityActionSignalEmit START");
+ var currentPid = global::System.Diagnostics.Process.GetCurrentProcess().Id;
+ var currentTid = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
+
+ tlog.Debug(tag, $"thread check! main pid={App.mainPid}, current pid={currentPid}, main tid={App.mainTid}, current tid={currentTid}");
+
+ var testingTarget = new AccessibilityActionSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityActionSignal>(testingTarget, "should be an instance of testing target class!");
+
+ testingTarget.Emit(Tizen.NUI.Accessibility.AccessibilityManager.Instance);
+ testingTarget.Dispose();
+
+ tlog.Debug(tag, $"AccessibilityActionSignalEmit END (OK)");
+ }
+
+ }
+}
--- /dev/null
+
+using global::System;
+using NUnit.Framework;
+using NUnit.Framework.TUnit;
+using Tizen.NUI.Components;
+using Tizen.NUI.BaseComponents;
+
+namespace Tizen.NUI.Devel.Tests
+{
+ using tlog = Tizen.Log;
+
+ [TestFixture]
+ [Description("internal/Accessibility/AccessibilityFocusOvershotSignal")]
+ public class InternalAccessibilityFocusOvershotSignalTests
+ {
+ private const string tag = "NUITEST";
+ private delegate bool dummyCallback(IntPtr accessibilityManager);
+ private bool OnDummyCallback(IntPtr data)
+ {
+ return false;
+ }
+
+ [SetUp]
+ public void Init()
+ {
+ tlog.Info(tag, "Init() is called!");
+ }
+
+ [TearDown]
+ public void Destroy()
+ {
+ tlog.Info(tag, "Destroy() is called!");
+ }
+
+ [Test]
+ [Description("AccessibilityFocusOvershotSignal constructor")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityFocusOvershotSignalConstructor()
+ {
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalConstructor START");
+
+ var testingTarget = new AccessibilityFocusOvershotSignal();
+
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityFocusOvershotSignal>(testingTarget, "should be an instance of testing target class!");
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalConstructor END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityFocusOvershotSignal Empty")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityFocusOvershotSignalEmpty()
+ {
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalEmpty START");
+
+ var testingTarget = new AccessibilityFocusOvershotSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityFocusOvershotSignal>(testingTarget, "should be an instance of testing target class!");
+
+ var result = testingTarget.Empty();
+ Assert.IsTrue(result);
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalEmpty END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityFocusOvershotSignal GetConnectionCount")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityFocusOvershotSignalGetConnectionCount()
+ {
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalGetConnectionCount START");
+
+ var testingTarget = new AccessibilityFocusOvershotSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityFocusOvershotSignal>(testingTarget, "should be an instance of testing target class!");
+
+ var result = testingTarget.GetConnectionCount();
+ Assert.IsTrue(result == 0, "result should be 0");
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalGetConnectionCount END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityFocusOvershotSignal Connection")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityFocusOvershotSignalConnection()
+ {
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalConnection START");
+
+ var testingTarget = new AccessibilityFocusOvershotSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityFocusOvershotSignal>(testingTarget, "should be an instance of testing target class!");
+
+ dummyCallback callback = OnDummyCallback;
+ testingTarget.Connect(callback);
+ testingTarget.Disconnect(callback);
+ testingTarget.Dispose();
+
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalConnection END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityFocusOvershotSignal Disconnection")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityFocusOvershotSignalDisconnection()
+ {
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalDisconnection START");
+
+ var testingTarget = new AccessibilityFocusOvershotSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityFocusOvershotSignal>(testingTarget, "should be an instance of testing target class!");
+
+ dummyCallback callback = OnDummyCallback;
+ testingTarget.Connect(callback);
+ testingTarget.Disconnect(callback);
+ testingTarget.Dispose();
+
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalDisconnection END (OK)");
+ }
+
+ [Test]
+ [Description("AccessibilityFocusOvershotSignal Emit")]
+ [Property("AUTHOR", "dongsug.song@samsung.com")]
+ public void AccessibilityFocusOvershotSignalEmit()
+ {
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalEmit START");
+ var currentPid = global::System.Diagnostics.Process.GetCurrentProcess().Id;
+ var currentTid = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
+
+ tlog.Debug(tag, $"thread check! main pid={App.mainPid}, current pid={currentPid}, main tid={App.mainTid}, current tid={currentTid}");
+
+ var testingTarget = new AccessibilityFocusOvershotSignal();
+ Assert.IsNotNull(testingTarget, "should be not null");
+ Assert.IsInstanceOf<AccessibilityFocusOvershotSignal>(testingTarget, "should be an instance of testing target class!");
+
+ View dummy = new View();
+ testingTarget.Emit(dummy, Accessibility.AccessibilityManager.FocusOvershotDirection.Previous);
+
+ testingTarget.Dispose();
+ dummy.Dispose();
+
+ tlog.Debug(tag, $"AccessibilityFocusOvershotSignalEmit END (OK)");
+ }
+
+ }
+}
<?xml version="1.0" encoding="utf-8"?>
-<manifest package="Tizen.NUI.Devel.Tests" version="1.0.0" api-version="8" xmlns="http://tizen.org/ns/packages">
+<manifest package="Tizen.NUI.Devel.Tests" version="1.0.0" api-version="9" xmlns="http://tizen.org/ns/packages">
<profile name="common" />
<ui-application appid="Tizen.NUI.Devel.Tests" exec="Tizen.NUI.Devel.Tests.dll" multiple="false" taskmanage="true" splash-screen-display="true" type="dotnet" launch_mode="single">
<icon>nui-csharp.png</icon>