[NUI] Add public theme TCs
authorzhouleonlei <zhouleon.lei@samsung.com>
Thu, 10 Jun 2021 06:24:50 +0000 (14:24 +0800)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Mon, 14 Jun 2021 10:12:19 +0000 (19:12 +0900)
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSDefaultTheme.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSDictionaryExternalTheme.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSExternalThemeKeyList.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSExternalThemeManager.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSTheme.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSThemeChangedEventArgs.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSThemeManager.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSTizenExternalTheme.cs [new file with mode: 0755]

diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSDefaultTheme.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSDefaultTheme.cs
new file mode 100755 (executable)
index 0000000..3b093d1
--- /dev/null
@@ -0,0 +1,43 @@
+using NUnit.Framework;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/DefaultTheme")]
+    internal class PublicDefaultThemeTest
+    {
+        private const string tag = "NUITEST";
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("DefaultThemeCreator GetExternalThemeKeyListSet")]
+        [Property("SPEC", "Tizen.NUI.DefaultThemeCreator.GetExternalThemeKeyListSet M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        public void DefaultThemeCreatorGetExternalThemeKeyListSet()
+        {
+            tlog.Debug(tag, $"DefaultThemeCreatorGetExternalThemeKeyListSet START");
+
+            DefaultThemeCreator.Instance.GetExternalThemeKeyListSet();
+
+            tlog.Debug(tag, $"DefaultThemeCreatorGetExternalThemeKeyListSet END (OK)");
+            Assert.Pass("DefaultThemeCreatorGetExternalThemeKeyListSet");
+        }
+    }
+
+}
+
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSDictionaryExternalTheme.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSDictionaryExternalTheme.cs
new file mode 100755 (executable)
index 0000000..4634cd0
--- /dev/null
@@ -0,0 +1,125 @@
+using NUnit.Framework;
+using System.Collections.Generic;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/DictionaryExternalTheme")]
+    internal class PublicDictionaryExternalThemeTest
+    {
+        private const string tag = "NUITEST";
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+
+        [Test]
+        [Category("P1")]
+        [Description("Create a DictionaryExternalTheme object.")]
+        [Property("SPEC", "Tizen.NUI.DictionaryExternalTheme.DictionaryExternalTheme C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("COVPARAM", "")]
+        public void DictionaryExternalThemeConstructor()
+        {
+            tlog.Debug(tag, $"DictionaryExternalThemeConstructor START");
+            string id = "id1"; string version = "version1";
+            Dictionary<string, string> theme = new Dictionary<string, string>
+            {
+                { "aaa", "111" },
+                { "bbb", "222" }
+            };
+
+            DictionaryExternalTheme a1 = new DictionaryExternalTheme(id, version, theme);
+
+            tlog.Debug(tag, $"DictionaryExternalThemeConstructor END (OK)");
+            Assert.Pass("DictionaryExternalThemeConstructor");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test DictionaryExternalTheme Id.")]
+        [Property("SPEC", "Tizen.NUI.DictionaryExternalTheme.Id A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void DictionaryExternalThemeId()
+        {
+            tlog.Debug(tag, $"DictionaryExternalThemeId START");
+
+            string id = "id1"; string version = "version1";
+            Dictionary<string, string> theme = new Dictionary<string, string>
+            {
+                { "aaa", "111" },
+                { "bbb", "222" }
+            };
+
+            DictionaryExternalTheme a1 = new DictionaryExternalTheme(id, version, theme);
+            string b1 = a1.Id;
+
+            tlog.Debug(tag, $"DictionaryExternalThemeId END (OK)");
+            Assert.Pass("DictionaryExternalThemeId");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test DictionaryExternalTheme Version.")]
+        [Property("SPEC", "Tizen.NUI.DictionaryExternalTheme.Version A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void DictionaryExternalThemeVersion()
+        {
+            tlog.Debug(tag, $"DictionaryExternalThemeVersion START");
+
+            string id = "id1"; string version = "version1";
+            Dictionary<string, string> theme = new Dictionary<string, string>
+            {
+                { "aaa", "111" },
+                { "bbb", "222" }
+            };
+
+            DictionaryExternalTheme a1 = new DictionaryExternalTheme(id, version, theme);
+            string b1 = a1.Version;
+
+            tlog.Debug(tag, $"DictionaryExternalThemeVersion END (OK)");
+            Assert.Pass("DictionaryExternalThemeVersion");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test DictionaryExternalTheme GetValue.")]
+        [Property("SPEC", "Tizen.NUI.DictionaryExternalTheme.GetValue M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void DictionaryExternalThemeGetValue()
+        {
+            tlog.Debug(tag, $"DictionaryExternalThemeGetValue START");
+
+            string id = "id1"; string version = "version1";
+            Dictionary<string, string> theme = new Dictionary<string, string>
+            {
+                { "aaa", "111" },
+                { "bbb", "222" }
+            };
+
+            DictionaryExternalTheme a1 = new DictionaryExternalTheme(id, version, theme);
+            string b1 = a1.GetValue("aaa");
+
+            tlog.Debug(tag, $"DictionaryExternalThemeGetValue END (OK)");
+            Assert.Pass("DictionaryExternalThemeGetValue");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSExternalThemeKeyList.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSExternalThemeKeyList.cs
new file mode 100755 (executable)
index 0000000..880a336
--- /dev/null
@@ -0,0 +1,133 @@
+using NUnit.Framework;
+using System;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Components;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/ExternalThemeKeyList")]
+    internal class PublicExternalThemeKeyListTest
+    {
+        private const string tag = "NUITEST";
+        private readonly object viewStyle;
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Create a ExternalThemeKeyList object.")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeKeyList.ExternalThemeKeyList C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("COVPARAM", "")]
+        public void ExternalThemeKeyListConstructor()
+        {
+            tlog.Debug(tag, $"ExternalThemeKeyListConstructor START");
+
+            Type componentType = typeof(string);
+            Type styleType = typeof(string);
+            ExternalThemeKeyList a1 = new ExternalThemeKeyList(componentType, styleType);
+
+            tlog.Debug(tag, $"ExternalThemeKeyListConstructor END (OK)");
+            Assert.Pass("ExternalThemeKeyListConstructor");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ExternalThemeKeyList add")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeKeyList.add M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        public void ExternalThemeKeyListadd()
+        {
+            tlog.Debug(tag, $"ExternalThemeKeyListadd START");
+
+            ExternalThemeKeyList keyList = new ExternalThemeKeyList(typeof(Button), typeof(ButtonStyle));
+
+            keyList.Add<Size>("/Size", (ViewStyle style, Size value) => style.Size = value);
+            tlog.Debug(tag, $"ExternalThemeKeyListadd END (OK)");
+            Assert.Pass("ExternalThemeKeyListadd");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ExternalThemeKeyList AddSelector")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeKeyList.AddSelector M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        public void ExternalThemeKeyListAddSelector()
+        {
+            tlog.Debug(tag, $"ExternalThemeKeyListAddSelector START");
+
+            ExternalThemeKeyList keyList = new ExternalThemeKeyList(typeof(Button), typeof(ButtonStyle));
+
+            keyList.AddSelector<Color>("/Pickers/ItemTextLabel/TextColor", (ViewStyle style, Selector<Color> value) => ((TimePickerStyle)style).Pickers.ItemTextLabel.TextColor = value, ControlState.Selected);
+
+            tlog.Debug(tag, $"ExternalThemeKeyListAddSelector END (OK)");
+            Assert.Pass("ExternalThemeKeyListAddSelector");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ExternalThemeKeyList AddBackgroundSelector")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeKeyList.AddBackgroundSelector M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        public void ExternalThemeKeyListAddBackgroundSelector()
+        {
+            tlog.Debug(tag, $"ExternalThemeKeyListAddBackgroundSelector START");
+
+            ExternalThemeKeyList keyList = new ExternalThemeKeyList(typeof(Button), typeof(ButtonStyle));
+
+            keyList.AddBackgroundSelector("/Background", mySetBackgroundColor, mySetBackgroundImage);
+
+            tlog.Debug(tag, $"ExternalThemeKeyListAddBackgroundSelector END (OK)");
+            Assert.Pass("ExternalThemeKeyListAddBackgroundSelector");
+        }
+
+        private static void mySetBackgroundColor(ViewStyle style, Selector<Color> value)
+        {
+            style.BackgroundColor = value;
+        }
+
+        private static void mySetBackgroundImage(ViewStyle style, Selector<string> value)
+        {
+            style.BackgroundImage = value;
+        }
+
+        //[Test]
+        //[Category("P1")]
+        //[Description("ExternalThemeKeyList ApplyKeyActions")]
+        //[Property("SPEC", "Tizen.NUI.ExternalThemeKeyList.ApplyKeyActions M")]
+        //[Property("SPEC_URL", "-")]
+        //[Property("CRITERIA", "MR")]
+        //public void ExternalThemeKeyListApplyKeyActions()
+        //{
+        //    tlog.Debug(tag, $"ExternalThemeKeyListApplyKeyActions START");
+
+        //    ExternalThemeKeyList keyList = new ExternalThemeKeyList(typeof(Button), typeof(ButtonStyle));
+
+        //    Tizen.Applications.ThemeManager.Theme theme();
+        //    TizenExternalTheme externalTheme = new TizenExternalTheme();
+        //    Theme theme = new Theme();
+        //    keyList.ApplyKeyActions(externalTheme, theme);
+
+        //    tlog.Debug(tag, $"ExternalThemeKeyListApplyKeyActions END (OK)");
+        //    Assert.Pass("ExternalThemeKeyListApplyKeyActions");
+        //}
+    }
+}
+
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSExternalThemeManager.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSExternalThemeManager.cs
new file mode 100755 (executable)
index 0000000..84917dc
--- /dev/null
@@ -0,0 +1,126 @@
+using NUnit.Framework;
+using System.Collections.Generic;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/ExternalThemeManager")]
+    internal class PublicExternalThemeManagerTest
+    {
+        private const string tag = "NUITEST";
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test ExternalThemeManager SharedResourcePath.")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeManager.SharedResourcePath A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void ExternalThemeManagerSharedResourcePath()
+        {
+            tlog.Debug(tag, $"ExternalThemeManagerSharedResourcePath START");
+
+            string b1 = ExternalThemeManager.SharedResourcePath;
+
+            ExternalThemeManager.Initialize();
+            b1 = ExternalThemeManager.SharedResourcePath;
+
+            tlog.Debug(tag, $"ExternalThemeManagerSharedResourcePath END (OK)");
+            Assert.Pass("ExternalThemeManagerSharedResourcePath");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test ExternalThemeManager Initialize")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeManager.Initialize M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ExternalThemeManagerInitialize()
+        {
+            tlog.Debug(tag, $"ExternalThemeManagerInitialize START");
+
+            ExternalThemeManager.Initialize();
+
+            tlog.Debug(tag, $"ExternalThemeManagerInitialize END (OK)");
+            Assert.Pass("ExternalThemeManagerInitialize");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test ExternalThemeManager GetCurrentTheme")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeManager.GetCurrentTheme M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ExternalThemeManagerGetCurrentTheme()
+        {
+            tlog.Debug(tag, $"ExternalThemeManagerGetCurrentTheme START");
+
+            ExternalThemeManager.GetCurrentTheme();
+
+            tlog.Debug(tag, $"ExternalThemeManagerGetCurrentTheme END (OK)");
+            Assert.Pass("ExternalThemeManagerGetCurrentTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test ExternalThemeManager GetTheme")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeManager.GetTheme M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ExternalThemeManagerGetTheme()
+        {
+            tlog.Debug(tag, $"ExternalThemeManagerGetTheme START");
+
+            ExternalThemeManager.GetTheme("aaa");
+
+            tlog.Debug(tag, $"ExternalThemeManagerGetTheme END (OK)");
+            Assert.Pass("ExternalThemeManagerGetTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test ExternalThemeManager SetTestTheme")]
+        [Property("SPEC", "Tizen.NUI.ExternalThemeManager.SetTestTheme M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ExternalThemeManagerSetTestTheme()
+        {
+            tlog.Debug(tag, $"ExternalThemeManagerSetTestTheme START");
+
+            ExternalThemeManager.SetTestTheme(null);
+
+            string id = "id1"; string version = "version1";
+            Dictionary<string, string> theme = new Dictionary<string, string>
+            {
+                { "aaa", "111" },
+                { "bbb", "222" }
+            };
+
+            DictionaryExternalTheme a1 = new DictionaryExternalTheme(id, version, theme);
+
+            ExternalThemeManager.SetTestTheme(a1);
+            ExternalThemeManager.SetTestTheme(id, version, theme);
+
+            tlog.Debug(tag, $"ExternalThemeManagerSetTestTheme END (OK)");
+            Assert.Pass("ExternalThemeManagerSetTestTheme");
+        }
+    }
+}
\ No newline at end of file
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSTheme.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSTheme.cs
new file mode 100755 (executable)
index 0000000..b44417b
--- /dev/null
@@ -0,0 +1,339 @@
+using NUnit.Framework;
+using System;
+using System.Collections.Generic;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/Theme")]
+    internal class PublicThemeTest
+    {
+        private const string tag = "NUITEST";
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Create a Theme object.")]
+        [Property("SPEC", "Tizen.NUI.Theme.Theme C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("COVPARAM", "")]
+        public void ThemeConstructor()
+        {
+            tlog.Debug(tag, $"ThemeConstructor START");
+
+            Theme a1 = new Theme("");
+            Theme b1 = new Theme("/root/noexist.xml");
+            Theme C1 = new Theme("/etc/info.ini");
+
+            tlog.Debug(tag, $"ThemeConstructor END (OK)");
+            Assert.Pass("ThemeConstructor");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme BasedOn.")]
+        [Property("SPEC", "Tizen.NUI.Theme.BasedOn A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void ThemeBasedOn()
+        {
+            tlog.Debug(tag, $"ThemeBasedOn START");
+            Theme a1 = new Theme();
+
+            string b1 = a1.BasedOn;
+            a1.BasedOn = b1;
+
+            tlog.Debug(tag, $"ThemeBasedOn END (OK)");
+            Assert.Pass("ThemeBasedOn");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme IsResourcesCreated .")]
+        [Property("SPEC", "Tizen.NUI.Theme.IsResourcesCreated  A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void ThemeIsResourcesCreated()
+        {
+            tlog.Debug(tag, $"ThemeIsResourcesCreated START");
+            Theme a1 = new Theme();
+
+            bool b1 = a1.IsResourcesCreated;
+
+            tlog.Debug(tag, $"ThemeIsResourcesCreated END (OK)");
+            Assert.Pass("ThemeIsResourcesCreated");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme Resources .")]
+        [Property("SPEC", "Tizen.NUI.Theme.Resources  A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void ThemeResources()
+        {
+            tlog.Debug(tag, $"ThemeResources START");
+            Theme a1 = new Theme();
+
+            ResourceDictionary b1 = a1.Resources;
+
+            tlog.Debug(tag, $"ThemeResources END (OK)");
+            Assert.Pass("ThemeResources");
+        }
+
+        //[Test]
+        //[Category("P1")]
+        //[Description("test Theme this .")]
+        //[Property("SPEC", "Tizen.NUI.Theme.this A")]
+        //[Property("SPEC_URL", "-")]
+        //[Property("CRITERIA", "PRW")]
+        //[Property("COVPARAM", "")]
+        //public void Themethis()
+        //{
+        //    tlog.Debug(tag, $"Themethis START");
+        //    Theme a1 = new Theme();
+
+        //    ViewStyle b1 = a1.styleName;
+
+        //    tlog.Debug(tag, $"Themethis END (OK)");
+        //    Assert.Pass("Themethis");
+        //}
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme Clear .")]
+        [Property("SPEC", "Tizen.NUI.Theme.Clear  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeClear()
+        {
+            tlog.Debug(tag, $"ThemeClear START");
+            Theme a1 = new Theme();
+
+            a1.Clear();
+
+            tlog.Debug(tag, $"ThemeClear END (OK)");
+            Assert.Pass("ThemeClear");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme HasStyle .")]
+        [Property("SPEC", "Tizen.NUI.Theme.HasStyle  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeHasStyle()
+        {
+            tlog.Debug(tag, $"ThemeHasStyle START");
+            Theme a1 = new Theme();
+
+            a1.HasStyle("red");
+
+            tlog.Debug(tag, $"ThemeHasStyle END (OK)");
+            Assert.Pass("ThemeHasStyle");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme RemoveStyle .")]
+        [Property("SPEC", "Tizen.NUI.Theme.RemoveStyle  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeRemoveStyle()
+        {
+            tlog.Debug(tag, $"ThemeRemoveStyle START");
+            Theme a1 = new Theme();
+
+            a1.RemoveStyle("red");
+
+            tlog.Debug(tag, $"ThemeRemoveStyle END (OK)");
+            Assert.Pass("ThemeRemoveStyle");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme AddStyle .")]
+        [Property("SPEC", "Tizen.NUI.Theme.AddStyle  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeAddStyle()
+        {
+            tlog.Debug(tag, $"ThemeAddStyle START");
+            Theme a1 = new Theme();
+
+            ViewStyle v1 = new ViewStyle();
+            a1.AddStyle("red", v1);
+
+            a1.AddStyle(null, v1);
+
+            tlog.Debug(tag, $"ThemeAddStyle END (OK)");
+            Assert.Pass("ThemeAddStyle");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme Clone .")]
+        [Property("SPEC", "Tizen.NUI.Theme.Clone  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeClone()
+        {
+            tlog.Debug(tag, $"ThemeClone START");
+            Theme a1 = new Theme();
+
+            a1.Clone();
+
+            tlog.Debug(tag, $"ThemeAddStyle END (OK)");
+            Assert.Pass("ThemeAddStyle");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme Merge .")]
+        [Property("SPEC", "Tizen.NUI.Theme.Merge  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeMerge()
+        {
+            tlog.Debug(tag, $"ThemeMerge START");
+            Theme a1 = new Theme();
+
+            a1.Merge("./opt/etc/skel/apps_rw/mobilebff/tizen-manifest.xml");
+            Theme t1 = new Theme();
+            a1.Merge(t1);
+
+            Theme t2 = null;
+            a1.Merge(t2);
+
+            tlog.Debug(tag, $"ThemeMerge END (OK)");
+            Assert.Pass("ThemeMerge");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme MergeWithoutClone .")]
+        [Property("SPEC", "Tizen.NUI.Theme.MergeWithoutClone  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeMergeWithoutClone()
+        {
+            tlog.Debug(tag, $"ThemeMergeWithoutClone START");
+            Theme a1 = new Theme();
+            Theme b1 = new Theme();
+
+            Theme t2 = null;
+            a1.Merge(t2);
+
+            string tmp = a1.Id;
+            a1.Id = null;
+
+            a1.Merge(b1);
+
+            a1.Id = tmp;
+            tmp = a1.Version;
+            a1.Version = null;
+            a1.Merge(b1);
+
+            tlog.Debug(tag, $"ThemeMergeWithoutClone END (OK)");
+            Assert.Pass("ThemeMergeWithoutClone");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme ApplyExternalTheme .")]
+        [Property("SPEC", "Tizen.NUI.Theme.ApplyExternalTheme  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeApplyExternalTheme()
+        {
+            tlog.Debug(tag, $"ThemeApplyExternalTheme START");
+            Theme a1 = new Theme();
+            Theme b1 = new Theme();
+
+            Dictionary<string, string> theme = new Dictionary<string, string>
+            {
+                { "aaa", "111" },
+                { "bbb", "222" }
+            };
+
+            DictionaryExternalTheme c1 = new DictionaryExternalTheme("myid", "myversion", theme);
+
+            Type componentType = typeof(string);
+            Type styleType = typeof(string);
+            ExternalThemeKeyList e1 = new ExternalThemeKeyList(componentType, styleType);
+
+            HashSet<ExternalThemeKeyList> keyListSet = new HashSet<ExternalThemeKeyList>
+            {
+                e1
+            };
+
+            a1.ApplyExternalTheme(c1, keyListSet);
+            a1.ApplyExternalTheme(c1, null);
+
+            tlog.Debug(tag, $"ThemeApplyExternalTheme END (OK)");
+            Assert.Pass("ThemeApplyExternalTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("test Theme HasSameIdAndVersion .")]
+        [Property("SPEC", "Tizen.NUI.Theme.HasSameIdAndVersion  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeHasSameIdAndVersion()
+        {
+            tlog.Debug(tag, $"ThemeHasSameIdAndVersion START");
+            Theme a1 = new Theme();
+            a1.HasSameIdAndVersion(null);
+
+            tlog.Debug(tag, $"ThemeHasSameIdAndVersion END (OK)");
+            Assert.Pass("ThemeHasSameIdAndVersion");
+        }
+        [Test]
+        [Category("P1")]
+        [Description("test Theme OnThemeResourcesChanged .")]
+        [Property("SPEC", "Tizen.NUI.Theme.OnThemeResourcesChanged  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeOnThemeResourcesChanged()
+        {
+            tlog.Debug(tag, $"ThemeOnThemeResourcesChanged START");
+            Theme a1 = new Theme();
+
+            a1.OnThemeResourcesChanged();
+
+            tlog.Debug(tag, $"ThemeOnThemeResourcesChanged END (OK)");
+            Assert.Pass("ThemeOnThemeResourcesChanged");
+        }
+    }
+}
+
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSThemeChangedEventArgs.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSThemeChangedEventArgs.cs
new file mode 100755 (executable)
index 0000000..8d9601e
--- /dev/null
@@ -0,0 +1,61 @@
+using NUnit.Framework;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/ThemeChangedEventArgs")]
+    internal class PublicThemeChangedEventArgsTest
+    {
+        private const string tag = "NUITEST";
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Create a ThemeChangedEventArgs ThemeChangedEventArgs object.")]
+        [Property("SPEC", "Tizen.NUI.ThemeChangedEventArgs.ThemeChangedEventArgs C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("COVPARAM", "")]
+        public void ThemeChangedEventArgsConstructor()
+        {
+            tlog.Debug(tag, $"ThemeChangedEventArgsConstructor START");
+
+            ThemeChangedEventArgs a1 = new ThemeChangedEventArgs("themeid");
+
+            tlog.Debug(tag, $"ThemeChangedEventArgsConstructor END (OK)");
+            Assert.Pass("ThemeChangedEventArgsConstructor");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeChangedEventArgs ThemeId.")]
+        [Property("SPEC", "Tizen.NUI.ThemeChangedEventArgs.ThemeId  A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void ThemeChangedEventArgsThemeId()
+        {
+            tlog.Debug(tag, $"ThemeChangedEventArgsThemeId START");
+
+            ThemeChangedEventArgs a1 = new ThemeChangedEventArgs("themeid");
+            string b1 = a1.ThemeId;
+
+            tlog.Debug(tag, $"ThemeChangedEventArgsThemeId END (OK)");
+            Assert.Pass("ThemeChangedEventArgsThemeId");
+        }
+    }
+}
+
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSThemeManager.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSThemeManager.cs
new file mode 100755 (executable)
index 0000000..993cae0
--- /dev/null
@@ -0,0 +1,186 @@
+using NUnit.Framework;
+using System;
+using System.Collections.Generic;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/ThemeManager")]
+    internal class PublicThemeManagerTest
+    {
+        private const string tag = "NUITEST";
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager DefaultTheme.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.DefaultTheme  A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerDefaultTheme()
+        {
+            tlog.Debug(tag, $"ThemeManagerDefaultTheme START");
+
+            Theme a1 = ThemeManager.DefaultTheme;
+            ThemeManager.DefaultTheme = a1;
+
+            tlog.Debug(tag, $"ThemeManagerDefaultTheme END (OK)");
+            Assert.Pass("ThemeManagerDefaultTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager CurrentTheme.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.CurrentTheme  A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerCurrentTheme()
+        {
+            tlog.Debug(tag, $"ThemeManagerCurrentTheme START");
+
+            Theme a1 = ThemeManager.CurrentTheme;
+            ThemeManager.CurrentTheme = a1;
+
+            tlog.Debug(tag, $"ThemeManagerCurrentTheme END (OK)");
+            Assert.Pass("ThemeManagerCurrentTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager ApplyTheme.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.ApplyTheme  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerApplyTheme()
+        {
+            tlog.Debug(tag, $"ThemeManagerApplyTheme START");
+
+            Theme a1 = new Theme();
+            ThemeManager.ApplyTheme(a1);
+
+            a1.Id = null;
+            ThemeManager.ApplyTheme(a1);
+
+            tlog.Debug(tag, $"ThemeManagerApplyTheme END (OK)");
+            Assert.Pass("ThemeManagerApplyTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager ApplyBaseTheme.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.ApplyBaseTheme  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerApplyBaseTheme()
+        {
+            tlog.Debug(tag, $"ThemeManagerApplyBaseTheme START");
+
+
+            ThemeManager.ApplyBaseTheme("mythemeid");
+
+            tlog.Debug(tag, $"ThemeManagerApplyBaseTheme END (OK)");
+            Assert.Pass("ThemeManagerApplyBaseTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager GetStyle.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.GetStyle  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerGetStyle()
+        {
+            tlog.Debug(tag, $"ThemeManagerGetStyle START");
+
+
+            ThemeManager.GetStyle("styleName");
+
+            Type viewType = typeof(string);
+            ThemeManager.GetStyle(viewType);
+
+            tlog.Debug(tag, $"ThemeManagerGetStyle END (OK)");
+            Assert.Pass("ThemeManagerGetStyle");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager GetBuiltinTheme.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.GetBuiltinTheme  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerGetBuiltinTheme()
+        {
+            tlog.Debug(tag, $"ThemeManagerGetBuiltinTheme START");
+
+
+            ThemeManager.GetBuiltinTheme("myThemeID");
+
+            tlog.Debug(tag, $"ThemeManagerGetBuiltinTheme END (OK)");
+            Assert.Pass("ThemeManagerGetBuiltinTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager ApplyFallbackTheme.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.ApplyFallbackTheme  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerApplyFallbackTheme()
+        {
+            tlog.Debug(tag, $"ThemeManagerApplyFallbackTheme START");
+
+            Theme a1 = new Theme();
+            ThemeManager.ApplyFallbackTheme(a1);
+
+            tlog.Debug(tag, $"ThemeManagerApplyFallbackTheme END (OK)");
+            Assert.Pass("ThemeManagerApplyFallbackTheme");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test ThemeManager ApplyExternalTheme.")]
+        [Property("SPEC", "Tizen.NUI.ThemeManager.ApplyExternalTheme  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void ThemeManagerApplyExternalTheme()
+        {
+            tlog.Debug(tag, $"ThemeManagerApplyExternalTheme START");
+
+            Dictionary<string, string> b1 = new Dictionary<string, string>
+            {
+                { "test1", "test2" }
+            };
+
+
+            DictionaryExternalTheme c1 = new DictionaryExternalTheme("myid", "myVersion", b1);
+
+            ThemeManager.ApplyExternalTheme(c1);
+
+            tlog.Debug(tag, $"ThemeManagerApplyExternalTheme END (OK)");
+            Assert.Pass("ThemeManagerApplyExternalTheme");
+        }
+
+    }
+}
+
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSTizenExternalTheme.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Theme/TSTizenExternalTheme.cs
new file mode 100755 (executable)
index 0000000..100ec3b
--- /dev/null
@@ -0,0 +1,53 @@
+using NUnit.Framework;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Theme/TizenExternalTheme")]
+    internal class PublicTizenExternalThemeTest
+    {
+        private const string tag = "NUITEST";
+        private readonly object themeLoader;
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("Test TizenExternalTheme GetValue.")]
+        [Property("SPEC", "Tizen.NUI.TizenExternalTheme.GetValue  M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("COVPARAM", "")]
+        public void TizenExternalThemeGetValue()
+        {
+            tlog.Debug(tag, $"TizenExternalThemeGetValue START");
+
+            Tizen.Applications.ThemeManager.ThemeLoader themeLoader = new Tizen.Applications.ThemeManager.ThemeLoader();
+
+            Tizen.Applications.ThemeManager.Theme a1 = null;
+            string id = "myId";
+
+            a1 = themeLoader.LoadTheme(id);
+
+            TizenExternalTheme b1 = new TizenExternalTheme(a1);
+
+
+
+            tlog.Debug(tag, $"TizenExternalThemeGetValue END (OK)");
+            Assert.Pass("TizenExternalThemeGetValue");
+        }
+    }
+}
+