[NUI] Add Visuals(Public) TCs.
authorguowei.wang <guowei.wang@samsung.com>
Fri, 7 May 2021 09:02:57 +0000 (17:02 +0800)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Fri, 21 May 2021 07:37:43 +0000 (16:37 +0900)
15 files changed:
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSAnimatedImageVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSArcVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSBorderVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSColorVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSGradientVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSImageVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSMeshVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSNPatchVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSPrimitiveVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSSVGVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSTextVisual.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualAnimator.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualBase.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualFactory.cs [new file with mode: 0755]
test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualMaps.cs [new file with mode: 0755]

diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSAnimatedImageVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSAnimatedImageVisual.cs
new file mode 100755 (executable)
index 0000000..07aa325
--- /dev/null
@@ -0,0 +1,241 @@
+using global::System;
+using NUnit.Framework;
+using NUnit.Framework.TUnit;
+using Tizen.NUI.Components;
+using Tizen.NUI.BaseComponents;
+using System.Collections.Generic;
+
+namespace Tizen.NUI.Devel.Tests
+{
+    using tlog = Tizen.Log;
+
+    [TestFixture]
+    [Description("public/Visuals/AnimatedImageVisual")]
+    public class PublicAnimatedImageVisualTest
+    {
+        private const string tag = "NUITEST";
+        private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
+        private static bool flagComposingPropertyMap;
+        internal class MyAnimatedImageVisual : AnimatedImageVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.AnimatedImageVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualConstructor()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualConstructor START");
+            
+            var testingTarget = new AnimatedImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "Should be an instance of AnimatedImageVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual URL.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.URL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualURL()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualURL START");
+
+            var testingTarget = new AnimatedImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "Should be an instance of AnimatedImageVisual type.");
+
+            testingTarget.URL = image_path;
+            Assert.AreEqual(image_path, testingTarget.URL, "Retrieved URL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual BatchSize.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.BatchSize A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualBatchSize()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualBatchSize START");
+
+            var testingTarget = new AnimatedImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "Should be an instance of AnimatedImageVisual type.");
+
+            List<string> list = new List<string>();
+            list.Add(image_path);
+
+            testingTarget.URLS = list;
+            testingTarget.BatchSize = 1;
+            Assert.AreEqual(1, testingTarget.BatchSize, "Retrieved BatchSize should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualBatchSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual CacheSize.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.CacheSize A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualCacheSize()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualCacheSize START");
+
+            var testingTarget = new AnimatedImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "should be an instance of AnimatedImageVisual type.");
+
+            List<string> list = new List<string>();
+            list.Add(image_path);
+
+            testingTarget.URLS = list;
+            testingTarget.CacheSize = 1;
+            Assert.AreEqual(1, testingTarget.CacheSize, "Retrieved CacheSize should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualCacheSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual FrameDelay.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.FrameDelay A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualFrameDelay()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualFrameDelay START");
+
+            var testingTarget = new AnimatedImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "should be an instance of AnimatedImageVisual type.");
+
+            List<string> list = new List<string>();
+            list.Add(image_path);
+
+            testingTarget.URLS = list;
+            testingTarget.FrameDelay = 0.1f;
+            Assert.AreEqual(0.1f, testingTarget.FrameDelay, "Retrieved FrameDelay should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualFrameDelay END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual LoopCount.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.LoopCount A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualLoopCount()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualLoopCount START");
+
+            var testingTarget = new AnimatedImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "should be an instance of AnimatedImageVisual type.");
+
+            List<string> list = new List<string>();
+            list.Add(image_path);
+
+            testingTarget.URLS = list;
+            testingTarget.LoopCount = 0.1f;
+            Assert.AreEqual(0.1f, testingTarget.LoopCount, "Retrieved LoopCount should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualLoopCount END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual URLS.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.URLS A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualURLS()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualURLS START");
+
+            var testingTarget = new AnimatedImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "should be an instance of AnimatedImageVisual type.");
+
+            List<string> list = new List<string>();
+            list.Add(image_path);
+
+            testingTarget.URLS = list;
+            string url = testingTarget.URLS[0] as string;
+            Assert.AreEqual(image_path, url, "Retrieved URLS should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualURLS END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("AnimatedImageVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.AnimatedImageVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void AnimatedImageVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"AnimatedImageVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyAnimatedImageVisual()
+            {
+                URL = image_path,
+                BatchSize = 1,
+                CacheSize = 1,
+                FrameDelay = 0.1f,
+                LoopCount = 0.1f
+            };
+            Assert.IsInstanceOf<AnimatedImageVisual>(testingTarget, "Should be an instance of AnimatedImageVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"AnimatedImageVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSArcVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSArcVisual.cs
new file mode 100755 (executable)
index 0000000..78c09a5
--- /dev/null
@@ -0,0 +1,182 @@
+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("public/Visuals/ArcVisual")]
+    public class PublicArcVisualTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyArcVisual : ArcVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ArcVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.Visuals.ArcVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ArcVisualConstructor()
+        {
+            tlog.Debug(tag, $"ArcVisualConstructor START");
+
+            var testingTarget = new ArcVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ArcVisual>(testingTarget, "Should be an instance of ArcVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ArcVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ArcVisual Thickness.")]
+        [Property("SPEC", "Tizen.NUI.Visuals.Thickness A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ArcVisualThickness()
+        {
+            tlog.Debug(tag, $"ArcVisualThickness START");
+
+            var testingTarget = new ArcVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ArcVisual");
+            Assert.IsInstanceOf<ArcVisual>(testingTarget, "Should be an instance of ArcVisual type.");
+
+            testingTarget.Thickness = 0.3f;
+            var result = testingTarget.Thickness;
+            Assert.AreEqual(0.3f, result, "Retrived result should be equal to set value.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ArcVisualThickness END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ArcVisual StartAngle.")]
+        [Property("SPEC", "Tizen.NUI.Visuals.StartAngle A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ArcVisualStartAngle()
+        {
+            tlog.Debug(tag, $"ArcVisualStartAngle START");
+
+            var testingTarget = new ArcVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ArcVisual");
+            Assert.IsInstanceOf<ArcVisual>(testingTarget, "Should be an instance of ArcVisual type.");
+
+            testingTarget.StartAngle = 30.0f;
+            var result = testingTarget.StartAngle;
+            Assert.AreEqual(30.0f, result, "Retrived result should be equal to set value.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ArcVisualStartAngle END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ArcVisual SweepAngle.")]
+        [Property("SPEC", "Tizen.NUI.Visuals.SweepAngle A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ArcVisualSweepAngle()
+        {
+            tlog.Debug(tag, $"ArcVisualSweepAngle START");
+
+            var testingTarget = new ArcVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ArcVisual");
+            Assert.IsInstanceOf<ArcVisual>(testingTarget, "Should be an instance of ArcVisual type.");
+
+            testingTarget.SweepAngle = 30.0f;
+            var result = testingTarget.SweepAngle;
+            Assert.AreEqual(30.0f, result, "Retrived result should be equal to set value.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ArcVisualSweepAngle END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ArcVisual Cap.")]
+        [Property("SPEC", "Tizen.NUI.Visuals.Cap A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ArcVisualCap()
+        {
+            tlog.Debug(tag, $"ArcVisualCap START");
+
+            var testingTarget = new ArcVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ArcVisual");
+            Assert.IsInstanceOf<ArcVisual>(testingTarget, "Should be an instance of ArcVisual type.");
+
+            testingTarget.Cap = ArcVisual.CapType.Butt;
+            var result = testingTarget.Cap;
+            Assert.AreEqual(ArcVisual.CapType.Butt, result, "Retrived result should be equal to set value.");
+
+            testingTarget.Cap = ArcVisual.CapType.Round;
+            result = testingTarget.Cap;
+            Assert.AreEqual(ArcVisual.CapType.Round, result, "Retrived result should be equal to set value.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ArcVisualCap END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ArcVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.Visuals.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ArcVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"ArcVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyArcVisual()
+            {
+                Thickness = 0.3f,
+                StartAngle = 30.0f,
+                SweepAngle = 40.0f,
+                Cap = ArcVisual.CapType.Butt
+            };
+            Assert.IsInstanceOf<ArcVisual>(testingTarget, "Should be an instance of ArcVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ArcVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSBorderVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSBorderVisual.cs
new file mode 100755 (executable)
index 0000000..cf60697
--- /dev/null
@@ -0,0 +1,156 @@
+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("public/Visuals/BorderVisual")]
+    public class PublicBorderVisualTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyBorderVisual : BorderVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("BorderVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.BorderVisual.BorderVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void BorderVisualConstructor()
+        {
+            tlog.Debug(tag, $"BorderVisualConstructor START");
+
+            var testingTarget = new BorderVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object BorderVisual");
+            Assert.IsInstanceOf<BorderVisual>(testingTarget, "Should be an instance of BorderVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"BorderVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("BorderVisual Color.")]
+        [Property("SPEC", "Tizen.NUI.BorderVisual.Color A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void BorderVisualColor()
+        {
+            tlog.Debug(tag, $"BorderVisualColor START");
+
+            var testingTarget = new BorderVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object BorderVisual");
+            Assert.IsInstanceOf<BorderVisual>(testingTarget, "Should be an instance of BorderVisual type.");
+
+            using (Color color = new Color(1.0f, 1.0f, 1.0f, 1.0f)) 
+            {
+                testingTarget.Color = color;
+                Assert.AreEqual(1.0f, testingTarget.Color.R, "Retrieved Color.R should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Color.G, "Retrieved Color.G should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Color.B, "Retrieved Color.B should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Color.A, "Retrieved Color.A should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"BorderVisualColor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("BorderVisual BorderSize.")]
+        [Property("SPEC", "Tizen.NUI.BorderVisual.BorderSize A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void BorderVisualBorderSize()
+        {
+            tlog.Debug(tag, $"BorderVisualBorderSize START");
+
+            var testingTarget = new BorderVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object BorderVisual");
+            Assert.IsInstanceOf<BorderVisual>(testingTarget, "Should be an instance of BorderVisual type.");
+
+            testingTarget.BorderSize = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.BorderSize, "Retrieved BorderSize should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"BorderVisualBorderSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("BorderVisual AntiAliasing.")]
+        [Property("SPEC", "Tizen.NUI.BorderVisual.AntiAliasing A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void BorderVisualAntiAliasing()
+        {
+            tlog.Debug(tag, $"BorderVisualAntiAliasing START");
+
+            var testingTarget = new BorderVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object BorderVisual");
+            Assert.IsInstanceOf<BorderVisual>(testingTarget, "Should be an instance of BorderVisual type.");
+
+            testingTarget.AntiAliasing = true;
+            Assert.AreEqual(true, testingTarget.AntiAliasing, "Retrieved AntiAliasing should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"BorderVisualAntiAliasing END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("BorderVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.BorderVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void BorderVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"BorderVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyBorderVisual()
+            {
+                Color = new Color(1.0f, 0.3f, 0.5f, 1.0f),
+                BorderSize = 1.0f,
+            };
+            Assert.IsInstanceOf<BorderVisual>(testingTarget, "Should be an instance of BorderVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"BorderVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSColorVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSColorVisual.cs
new file mode 100755 (executable)
index 0000000..9ff79e0
--- /dev/null
@@ -0,0 +1,136 @@
+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("public/Visuals/ColorVisual")]
+    public class PublicColorVisualTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyColorVisual : ColorVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ColorVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.ColorVisual.ColorVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ColorVisualConstructor()
+        {
+            tlog.Debug(tag, $"ColorVisualConstructor START");
+
+            var testingTarget = new ColorVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ColorVisual");
+            Assert.IsInstanceOf<ColorVisual>(testingTarget, "Should be an instance of ColorVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ColorVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ColorVisual Color.")]
+        [Property("SPEC", "Tizen.NUI.ColorVisual.Color A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ColorVisualColor()
+        {
+            tlog.Debug(tag, $"ColorVisualColor START");
+
+            var testingTarget = new ColorVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ColorVisual");
+            Assert.IsInstanceOf<ColorVisual>(testingTarget, "Should be an instance of ColorVisual type.");
+
+            using (Color color = new Color(1.0f, 1.0f, 1.0f, 1.0f))
+            {
+                testingTarget.Color = color;
+                Assert.AreEqual(1.0f, testingTarget.Color.R, "Retrieved Color.R should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Color.G, "Retrieved Color.G should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Color.B, "Retrieved Color.B should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Color.A, "Retrieved Color.A should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ColorVisualColor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ColorVisual RenderIfTransparent.")]
+        [Property("SPEC", "Tizen.NUI.ColorVisual.RenderIfTransparent A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ColorVisualRenderIfTransparent()
+        {
+            tlog.Debug(tag, $"ColorVisualRenderIfTransparent START");
+
+            var testingTarget = new ColorVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ColorVisual");
+            Assert.IsInstanceOf<ColorVisual>(testingTarget, "Should be an instance of ColorVisual type.");
+
+            testingTarget.RenderIfTransparent = true;
+            Assert.AreEqual(true, testingTarget.RenderIfTransparent, "Retrieved RenderIfTransparent should be equal to set value");
+
+            testingTarget.RenderIfTransparent = false;
+            Assert.AreEqual(false, testingTarget.RenderIfTransparent, "Retrieved RenderIfTransparent should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ColorVisualRenderIfTransparent END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ColorVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.ColorVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ColorVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"ColorVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyColorVisual()
+            {
+                Color = new Color(1.0f, 0.3f, 0.5f, 1.0f),
+            };
+            Assert.IsInstanceOf<ColorVisual>(testingTarget, "Should be an instance of ColorVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ColorVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSGradientVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSGradientVisual.cs
new file mode 100755 (executable)
index 0000000..d382001
--- /dev/null
@@ -0,0 +1,313 @@
+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("public/Visuals/GradientVisual")]
+    public class PublicGradientVisualTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyGradientVisual : GradientVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.GradientVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualConstructor()
+        {
+            tlog.Debug(tag, $"GradientVisualConstructor START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual StartPosition.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.StartPosition A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualStartPosition()
+        {
+            tlog.Debug(tag, $"GradientVisualStartPosition START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            using (Vector2 vector = new Vector2(1.0f, 1.0f))
+            {
+                testingTarget.StartPosition = vector;
+                Assert.AreEqual(1.0f, testingTarget.StartPosition.X, "Retrieved StartPosition.X should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.StartPosition.Y, "Retrieved StartPosition.Y should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualStartPosition END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual EndPosition.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.EndPosition A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualEndPosition()
+        {
+            tlog.Debug(tag, $"GradientVisualEndPosition START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            using (Vector2 vector = new Vector2(1.0f, 1.0f)) 
+            {
+                testingTarget.EndPosition = vector;
+                Assert.AreEqual(1.0f, testingTarget.EndPosition.X, "Retrieved EndPosition.X should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.EndPosition.Y, "Retrieved EndPosition.Y should be equal to set value");
+            }
+           
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualEndPosition END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual Center.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.Center A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualCenter()
+        {
+            tlog.Debug(tag, $"GradientVisualCenter START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            using (Vector2 vector = new Vector2(1.0f, 1.0f))
+            {
+                testingTarget.Center = vector;
+                Assert.AreEqual(1.0f, testingTarget.Center.X, "Retrieved Center.X should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Center.Y, "Retrieved Center.Y should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualCenter END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual Radius.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.Radius A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualRadius()
+        {
+            tlog.Debug(tag, $"GradientVisualRadius START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            testingTarget.Radius = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.Radius, "Retrieved Radius should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualRadius END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual StopOffset.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.StopOffset A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualStopOffset()
+        {
+            tlog.Debug(tag, $"GradientVisualStopOffset START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            PropertyArray array = new PropertyArray();
+            for (float i = 0; i < 5; i += 1.0f)
+            {
+                array.Add(new PropertyValue(i));
+            }
+            testingTarget.StopOffset = array;
+
+            PropertyArray result = testingTarget.StopOffset;
+            Assert.IsNotNull(result, "Should not be null");
+            Assert.AreEqual(array.Count(), result.Count(), "Should be equals to the set count");
+
+            float set_value = 0.0f;
+            float get_value = 0.0f;
+            for (uint i = 0; i < array.Count(); i++)
+            {
+                array[i].Get(out set_value);
+                result[i].Get(out get_value);
+                Assert.AreEqual(set_value, get_value, "index" + i + " should be equals to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualStopOffset END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual StopColor.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.StopColor A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualStopColor()
+        {
+            tlog.Debug(tag, $"GradientVisualStopColor START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            PropertyArray array = new PropertyArray();
+            for (float i = 0; i < 5; i += 1.0f)
+            {
+                array.Add(new PropertyValue(i));
+            }
+            testingTarget.StopColor = array;
+
+            PropertyArray result = testingTarget.StopColor;
+            Assert.IsNotNull(result, "Should not be null");
+            Assert.AreEqual(array.Count(), result.Count(), "Should be equals to the set count");
+
+            float set_value = 0.0f;
+            float get_value = 0.0f;
+            for (uint i = 0; i < array.Count(); i++)
+            {
+                array[i].Get(out set_value);
+                result[i].Get(out get_value);
+                Assert.AreEqual(set_value, get_value, "index" + i + " should be equals to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualStopColor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual Units.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.Units A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualUnits()
+        {
+            tlog.Debug(tag, $"GradientVisualUnits START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            testingTarget.Units = GradientVisualUnitsType.ObjectBoundingBox;
+            Assert.AreEqual(GradientVisualUnitsType.ObjectBoundingBox, testingTarget.Units, "Retrieved Units should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualUnits END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual SpreadMethod.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.SpreadMethod A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualSpreadMethod()
+        {
+            tlog.Debug(tag, $"GradientVisualUnits START");
+
+            var testingTarget = new GradientVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+
+            testingTarget.SpreadMethod = GradientVisualSpreadMethodType.Pad;
+            Assert.AreEqual(GradientVisualSpreadMethodType.Pad, testingTarget.SpreadMethod, "Retrieved SpreadMethod should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualUnits END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("GradientVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.GradientVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void GradientVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"GradientVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyGradientVisual()
+            {
+                StartPosition = new Vector2(1.0f, 1.0f),
+                EndPosition = new Vector2(1.0f, 1.0f),
+                Center = new Vector2(1.0f, 1.0f),
+                Radius = 2.0f,
+                StopOffset = new PropertyArray(),
+                Units = GradientVisualUnitsType.ObjectBoundingBox,
+                SpreadMethod = GradientVisualSpreadMethodType.Pad,
+                StopColor = new PropertyArray(),
+            };
+            Assert.IsInstanceOf<GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"GradientVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSImageVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSImageVisual.cs
new file mode 100755 (executable)
index 0000000..bc95227
--- /dev/null
@@ -0,0 +1,523 @@
+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("public/Visuals/ImageVisual")]
+    public class PublicImageVisualTest
+    {
+        private const string tag = "NUITEST";
+        private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "Tizen.NUI.Tests.png";
+        private static bool flagComposingPropertyMap;
+        internal class MyImageVisual : ImageVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.ImageVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualConstructor()
+        {
+            tlog.Debug(tag, $"ImageVisualConstructor START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object ImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ColorVisualMap type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual URL.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.URL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualURL()
+        {
+            tlog.Debug(tag, $"ImageVisualURL START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.URL = "URL";
+            Assert.AreEqual("URL", testingTarget.URL, "Retrieved URL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual FittingMode.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.FittingMode A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualFittingMode()
+        {
+            tlog.Debug(tag, $"ImageVisualFittingMode START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.FittingMode = FittingModeType.FitHeight;
+            Assert.AreEqual(FittingModeType.FitHeight, testingTarget.FittingMode, "Retrieved FittingMode should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualFittingMode END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual SamplingMode.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.SamplingMode A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualSamplingMode()
+        {
+            tlog.Debug(tag, $"ImageVisualSamplingMode START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.SamplingMode = SamplingModeType.Box;
+            Assert.AreEqual(SamplingModeType.Box, testingTarget.SamplingMode, "Retrieved SamplingMode should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualSamplingMode END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual DesiredWidth.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.DesiredWidth A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualDesiredWidth()
+        {
+            tlog.Debug(tag, $"ImageVisualDesiredWidth START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.DesiredWidth = 3;
+            Assert.AreEqual(3, testingTarget.DesiredWidth, "Retrieved DesiredWidth should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualDesiredWidth END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual AlphaMaskURL.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.AlphaMaskURL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualAlphaMaskURL()
+        {
+            tlog.Debug(tag, $"ImageVisualAlphaMaskURL START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.AlphaMaskURL = image_path;
+            Assert.AreEqual(image_path, testingTarget.AlphaMaskURL, "Retrieved AlphaMaskURL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualAlphaMaskURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual AuxiliaryImageURL.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.AuxiliaryImageURL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualAuxiliaryImageURL()
+        {
+            tlog.Debug(tag, $"ImageVisualAuxiliaryImageURL START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.AuxiliaryImageURL = image_path;
+            Assert.AreEqual(image_path, testingTarget.AuxiliaryImageURL, "Retrieved AuxiliaryImageURL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualAuxiliaryImageURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual AuxiliaryImageAlpha.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.AuxiliaryImageAlpha A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualAuxiliaryImageAlpha()
+        {
+            tlog.Debug(tag, $"ImageVisualAuxiliaryImageAlpha START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.AuxiliaryImageAlpha = 0.9f;
+            Assert.AreEqual(0.9f, testingTarget.AuxiliaryImageAlpha, "Retrieved AuxiliaryImageAlpha should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualAuxiliaryImageAlpha END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual DesiredHeight.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.DesiredHeight A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualDesiredHeight()
+        {
+            tlog.Debug(tag, $"ImageVisualDesiredHeight START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.DesiredHeight = 3;
+            Assert.AreEqual(3, testingTarget.DesiredHeight, "Retrieved DesiredHeight should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualDesiredHeight END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual SynchronousLoading.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.SynchronousLoading A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualSynchronousLoading()
+        {
+            tlog.Debug(tag, $"ImageVisualSynchronousLoading START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.SynchronousLoading = true;
+            Assert.AreEqual(true, testingTarget.SynchronousLoading, "Retrieved SynchronousLoading should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualSynchronousLoading END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual BorderOnly.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.BorderOnly A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualBorderOnly()
+        {
+            tlog.Debug(tag, $"ImageVisualBorderOnly START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.BorderOnly = true;
+            Assert.AreEqual(true, testingTarget.BorderOnly, "Retrieved BorderOnly should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualBorderOnly END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual PixelArea.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.PixelArea A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualPixelArea()
+        {
+            tlog.Debug(tag, $"ImageVisualPixelArea START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            using (Vector4 vector = new Vector4(1.0f, 1.0f, 1.0f, 1.0f))
+            {
+                testingTarget.PixelArea = vector;
+                Assert.AreEqual(vector.R, testingTarget.PixelArea.R, "Retrieved PixelArea.R should be equal to set value");
+                Assert.AreEqual(vector.G, testingTarget.PixelArea.G, "Retrieved PixelArea.G should be equal to set value");
+                Assert.AreEqual(vector.B, testingTarget.PixelArea.B, "Retrieved PixelArea.B should be equal to set value");
+                Assert.AreEqual(vector.A, testingTarget.PixelArea.A, "Retrieved PixelArea.A should be equal to set value");
+            }
+           
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualPixelArea END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual WrapModeU.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.WrapModeU A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualWrapModeU()
+        {
+            tlog.Debug(tag, $"ImageVisualWrapModeU START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.WrapModeU = WrapModeType.ClampToEdge;
+            Assert.AreEqual(WrapModeType.ClampToEdge, testingTarget.WrapModeU, "Retrieved WrapModeU should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualWrapModeU END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual WrapModeV.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.WrapModeV A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualWrapModeV()
+        {
+            tlog.Debug(tag, $"ImageVisualWrapModeV START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.WrapModeV = WrapModeType.ClampToEdge;
+            Assert.AreEqual(WrapModeType.ClampToEdge, testingTarget.WrapModeV, "Retrieved WrapModeV should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualWrapModeV END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual CropToMask.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.CropToMask A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualCropToMask()
+        {
+            tlog.Debug(tag, $"ImageVisualCropToMask START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.CropToMask = false;
+            Assert.AreEqual(false, testingTarget.CropToMask, "Retrieved CropToMask should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualCropToMask END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual MaskContentScale.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.MaskContentScale A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualMaskContentScale()
+        {
+            tlog.Debug(tag, $"ImageVisualMaskContentScale START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.MaskContentScale = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.MaskContentScale, "Retrieved MaskContentScale should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualMaskContentScale END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual ReleasePolicy.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.ReleasePolicy A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualReleasePolicy()
+        {
+            tlog.Debug(tag, $"ImageVisualReleasePolicy START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.ReleasePolicy = ReleasePolicyType.Detached;
+            Assert.AreEqual(ReleasePolicyType.Detached, testingTarget.ReleasePolicy, "Retrieved ReleasePolicy should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualReleasePolicy END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual OrientationCorrection.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.OrientationCorrection A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualOrientationCorrection()
+        {
+            tlog.Debug(tag, $"ImageVisualOrientationCorrection START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.OrientationCorrection = true;
+            Assert.IsTrue(testingTarget.OrientationCorrection, "Retrieved OrientationCorrection should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualOrientationCorrection END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual LoadPolicy.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.LoadPolicy A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualLoadPolicy()
+        {
+            tlog.Debug(tag, $"ImageVisualLoadPolicy START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.LoadPolicy = LoadPolicyType.Immediate;
+            Assert.AreEqual(LoadPolicyType.Immediate, testingTarget.LoadPolicy, "Retrieved LoadPolicy should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualLoadPolicy END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual Atlasing.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.Atlasing A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void ImageVisualAtlasing()
+        {
+            tlog.Debug(tag, $"ImageVisualAtlasing START");
+
+            var testingTarget = new ImageVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+
+            testingTarget.Atlasing = true;
+            Assert.AreEqual(true, testingTarget.Atlasing, "Retrieved Atlasing should be equal to set value");
+
+            testingTarget.Atlasing = false;
+            Assert.AreEqual(false, testingTarget.Atlasing, "Retrieved Atlasing should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualAtlasing END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("ImageVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.ImageVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com@samsung.com")]
+        public void ImageVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"ImageVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyImageVisual()
+            {
+                URL = image_path,
+                AuxiliaryImageURL = image_path,
+                DesiredWidth = 3,
+                FittingMode = FittingModeType.FitHeight,
+                SamplingMode = SamplingModeType.Box,
+                PixelArea = new Vector4(1.0f, 1.0f, 1.0f, 1.0f),
+                WrapModeU = WrapModeType.ClampToEdge,
+                WrapModeV = WrapModeType.ClampToEdge,
+                CropToMask = false,
+                AuxiliaryImageAlpha = 0.9f,
+                ReleasePolicy = ReleasePolicyType.Detached,
+                LoadPolicy = LoadPolicyType.Immediate
+
+            };
+            Assert.IsInstanceOf<ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"ImageVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSMeshVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSMeshVisual.cs
new file mode 100755 (executable)
index 0000000..19535e9
--- /dev/null
@@ -0,0 +1,251 @@
+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("public/Visuals/MeshVisual")]
+    public class PublicMeshVisualTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyMeshVisual : MeshVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.MeshVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualConstructor()
+        {
+            tlog.Debug(tag, $"MeshVisualConstructor START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual ObjectURL.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.ObjectURL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualObjectURL()
+        {
+            tlog.Debug(tag, $"MeshVisualObjectURL START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            string url = "ObjectURL";
+            testingTarget.ObjectURL = url;
+            Assert.AreEqual(url, testingTarget.ObjectURL, "Retrieved ObjectURL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualObjectURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual MaterialtURL.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.MaterialtURL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualMaterialtURL()
+        {
+            tlog.Debug(tag, $"MeshVisualMaterialtURL START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            string url = "MaterialtURL";
+            testingTarget.MaterialtURL = url;
+            Assert.AreEqual(url, testingTarget.MaterialtURL, "Retrieved MaterialtURL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualMaterialtURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual TexturesPath.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.TexturesPath A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualTexturesPath()
+        {
+            tlog.Debug(tag, $"MeshVisualTexturesPath START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            string url = "TexturesPath";
+            testingTarget.TexturesPath = url;
+            Assert.AreEqual(url, testingTarget.TexturesPath, "Retrieved TexturesPath should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualTexturesPath END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual ShadingMode.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.ShadingMode A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualShadingMode()
+        {
+            tlog.Debug(tag, $"MeshVisualShadingMode START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            testingTarget.ShadingMode = MeshVisualShadingModeValue.TexturedWithDetailedSpecularLighting;
+            Assert.AreEqual(MeshVisualShadingModeValue.TexturedWithDetailedSpecularLighting, testingTarget.ShadingMode, "Retrieved ShadingMode should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualShadingMode END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual UseMipmapping.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.UseMipmapping A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualUseMipmapping()
+        {
+            tlog.Debug(tag, $"MeshVisualUseMipmapping START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            testingTarget.UseMipmapping = true;
+            Assert.AreEqual(true, testingTarget.UseMipmapping, "Retrieved UseMipmapping should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualUseMipmapping END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual UseSoftNormals.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.UseSoftNormals A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualUseSoftNormals()
+        {
+            tlog.Debug(tag, $"MeshVisualUseSoftNormals START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            testingTarget.UseSoftNormals = true;
+            Assert.AreEqual(true, testingTarget.UseSoftNormals, "Retrieved UseSoftNormals should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualUseSoftNormals END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual LightPosition.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.LightPosition A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualLightPosition()
+        {
+            tlog.Debug(tag, $"MeshVisualLightPosition START");
+
+            var testingTarget = new MeshVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object MeshVisual");
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+
+            using (Vector3 vector3 = new Vector3(1.0f, 1.0f, 1.0f)) 
+            {
+                testingTarget.LightPosition = vector3;
+                Assert.AreEqual(1.0f, testingTarget.LightPosition.X, "Retrieved LightPosition.X should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.LightPosition.Y, "Retrieved LightPosition.Y should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.LightPosition.Z, "Retrieved LightPosition.Z should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualLightPosition END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("MeshVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.MeshVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void MeshVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"MeshVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyMeshVisual()
+            {
+                ObjectURL = "ObjectURL",
+                MaterialtURL = "MaterialtURL",
+                TexturesPath = "TexturesPath",
+                ShadingMode = MeshVisualShadingModeValue.TexturedWithDetailedSpecularLighting,
+                UseMipmapping = true,
+                UseSoftNormals = true,
+                LightPosition = new Vector3(1.0f, 1.0f, 1.0f)
+            };
+            Assert.IsInstanceOf<MeshVisual>(testingTarget, "Should be an instance of MeshVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"MeshVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSNPatchVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSNPatchVisual.cs
new file mode 100755 (executable)
index 0000000..5a92143
--- /dev/null
@@ -0,0 +1,157 @@
+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("public/Visuals/NPatchVisual")]
+    public class PublicNPatchVisualTest
+    {
+        private const string tag = "NUITEST";
+        private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "Tizen.NUI.Tests.png";
+        private static bool flagComposingPropertyMap;
+        internal class MyNPatchVisual : NPatchVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("NPatchVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.NPatchVisual.NPatchVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void NPatchVisualConstructor()
+        {
+            tlog.Debug(tag, $"NPatchVisualConstructor START");
+
+            var testingTarget = new NPatchVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object NPatchVisual");
+            Assert.IsInstanceOf<NPatchVisual>(testingTarget, "Should be an instance of NPatchVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"NPatchVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("NPatchVisual URL.")]
+        [Property("SPEC", "Tizen.NUI.NPatchVisual.URL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void NPatchVisualURL()
+        {
+            tlog.Debug(tag, $"NPatchVisualURL START");
+
+            var testingTarget = new NPatchVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object NPatchVisual");
+            Assert.IsInstanceOf<NPatchVisual>(testingTarget, "Should be an instance of NPatchVisual type.");
+
+            testingTarget.URL = image_path;
+            Assert.AreEqual(image_path, testingTarget.URL, "Retrieved URL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"NPatchVisualURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("NPatchVisual BorderOnly.")]
+        [Property("SPEC", "Tizen.NUI.NPatchVisual.BorderOnly A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void NPatchVisualBorderOnly()
+        {
+            tlog.Debug(tag, $"NPatchVisualBorderOnly START");
+
+            var testingTarget = new NPatchVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object NPatchVisual");
+            Assert.IsInstanceOf<NPatchVisual>(testingTarget, "Should be an instance of NPatchVisual type.");
+
+            testingTarget.BorderOnly = true;
+            Assert.AreEqual(true, testingTarget.BorderOnly, "Retrieved BorderOnly should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"NPatchVisualBorderOnly END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("NPatchVisual Border.")]
+        [Property("SPEC", "Tizen.NUI.NPatchVisual.Border A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void NPatchVisualBorder()
+        {
+            tlog.Debug(tag, $"NPatchVisualBorder START");
+
+            var testingTarget = new NPatchVisual();
+
+            using (Rectangle rec = new Rectangle(0, 0, 10, 10))
+            {
+                testingTarget.Border = rec;
+                Assert.AreEqual(0, testingTarget.Border.X, "Retrieved BorderOnly should be equal to set value");
+                Assert.AreEqual(0, testingTarget.Border.Y, "Retrieved BorderOnly should be equal to set value");
+                Assert.AreEqual(10, testingTarget.Border.Width, "Retrieved BorderOnly should be equal to set value");
+                Assert.AreEqual(10, testingTarget.Border.Height, "Retrieved BorderOnly should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"NPatchVisualBorder END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("CNPatchVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.NPatchVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void NPatchVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"NPatchVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyNPatchVisual()
+            {
+                URL = image_path,
+                BorderOnly = true,
+                Border = new Rectangle(0, 0, 10, 10)
+
+            };
+            Assert.IsInstanceOf<NPatchVisual>(testingTarget, "Should be an instance of NPatchVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"NPatchVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSPrimitiveVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSPrimitiveVisual.cs
new file mode 100755 (executable)
index 0000000..ea4287e
--- /dev/null
@@ -0,0 +1,373 @@
+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("public/Visuals/PrimitiveVisual")]
+    public class PublicPrimitiveVisualTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyPrimitiveVisual : PrimitiveVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.PrimitiveVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualConstructor()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualConstructor START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual Shape.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.Shape A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualShape()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualShape START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.Shape = PrimitiveVisualShapeType.BevelledCube;
+            Assert.AreEqual(PrimitiveVisualShapeType.BevelledCube, testingTarget.Shape, "Retrieved Shape should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualShape END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual MixColor.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.MixColor A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualMixColor()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualMixColor START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            Color color = new Color(1.0f, 1.0f, 1.0f, 1.0f);
+            testingTarget.MixColor = color;
+            Assert.AreEqual(1.0f, testingTarget.MixColor.R, "Retrieved MixColor.R should be equal to set value");
+            Assert.AreEqual(1.0f, testingTarget.MixColor.G, "Retrieved MixColor.G should be equal to set value");
+            Assert.AreEqual(1.0f, testingTarget.MixColor.B, "Retrieved MixColor.B should be equal to set value");
+            Assert.AreEqual(1.0f, testingTarget.MixColor.A, "Retrieved MixColor.A should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualMixColor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual Slices.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.Slices A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualSlices()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualSlices START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.Slices = 3;
+            Assert.AreEqual(3, testingTarget.Slices, "Retrieved Slices should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualSlices END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual Stacks.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.Stacks A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualStacks()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualStacks START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.Stacks = 3;
+            Assert.AreEqual(3, testingTarget.Stacks, "Retrieved Stacks should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualStacks END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual ScaleTopRadius.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.ScaleTopRadius A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualScaleTopRadius()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualScaleTopRadius START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.ScaleTopRadius = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.ScaleTopRadius, "Retrieved ScaleTopRadius should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualScaleTopRadius END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual ScaleBottomRadius.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.ScaleBottomRadius A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualScaleBottomRadius()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualScaleBottomRadius START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.ScaleBottomRadius = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.ScaleBottomRadius, "Retrieved ScaleBottomRadius should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualScaleBottomRadius END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual ScaleHeight.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.ScaleHeight A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualScaleHeight()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualScaleHeight START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.ScaleHeight = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.ScaleHeight, "Retrieved ScaleHeight should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualScaleHeight END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual ScaleRadius.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.ScaleRadius A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualScaleRadius()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualScaleRadius START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.ScaleRadius = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.ScaleRadius, "Retrieved ScaleRadius should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualScaleRadius END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual ScaleDimensions.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.ScaleDimensions A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualScaleDimensions()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualScaleDimensions START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            using (Vector3 vector3 = new Vector3(1.0f, 1.0f, 1.0f))
+            {
+                testingTarget.ScaleDimensions = vector3;
+                Assert.AreEqual(1.0f, testingTarget.ScaleDimensions.X, "Retrieved ScaleDimensions.X should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.ScaleDimensions.Y, "Retrieved ScaleDimensions.Y should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.ScaleDimensions.Z, "Retrieved ScaleDimensions.Z should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualScaleDimensions END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual BevelPercentage.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.BevelPercentage A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualBevelPercentage()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualBevelPercentage START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.BevelPercentage = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.BevelPercentage, "Retrieved BevelPercentage should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualBevelPercentage END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual BevelSmoothness.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.BevelSmoothness A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualBevelSmoothness()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualBevelSmoothness START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            testingTarget.BevelSmoothness = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.BevelSmoothness, "Retrieved BevelSmoothness should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualBevelSmoothness END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual LightPosition.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.LightPosition A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualLightPosition()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualLightPosition START");
+
+            var testingTarget = new PrimitiveVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");
+
+            using (Vector3 vector3 = new Vector3(1.0f, 1.0f, 1.0f))
+            {
+                testingTarget.LightPosition = vector3;
+                Assert.AreEqual(1.0f, testingTarget.LightPosition.X, "Retrieved LightPosition.X should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.LightPosition.Y, "Retrieved LightPosition.Y should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.LightPosition.Z, "Retrieved LightPosition.Z should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualLightPosition END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("PrimitiveVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.PrimitiveVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void PrimitiveVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"PrimitiveVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyPrimitiveVisual()
+            {
+                Shape = PrimitiveVisualShapeType.BevelledCube,
+                MixColor = new Color(1.0f, 1.0f, 1.0f, 1.0f),
+                Slices = 3,
+                Stacks = 3,
+                ScaleTopRadius = 1.0f,
+                ScaleBottomRadius = 1.0f,
+                ScaleHeight = 1.0f,
+                ScaleRadius = 1.0f,
+                ScaleDimensions = new Vector3(1.0f, 1.0f, 1.0f),
+                BevelPercentage = 0.3f,
+                BevelSmoothness = 0.5f,
+                LightPosition = new Vector3(1.0f, 1.0f, 1.0f),
+            };
+            Assert.IsInstanceOf<PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"PrimitiveVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSSVGVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSSVGVisual.cs
new file mode 100755 (executable)
index 0000000..4f8b131
--- /dev/null
@@ -0,0 +1,106 @@
+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("public/Visuals/SVGVisual")]
+    public class PublicSVGVisualTest
+    {
+        private const string tag = "NUITEST";
+        private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
+        private static bool flagComposingPropertyMap;
+        internal class MySVGVisual : SVGVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("SVGVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.SVGVisual.SVGVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void SVGVisualConstructor()
+        {
+            tlog.Debug(tag, $"SVGVisualConstructor START");
+
+            var testingTarget = new SVGVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object SVGVisual");
+            Assert.IsInstanceOf<SVGVisual>(testingTarget, "Should be an instance of SVGVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"SVGVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("SVGVisual URL.")]
+        [Property("SPEC", "Tizen.NUI.SVGVisual.URL A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void SVGVisualURL()
+        {
+            tlog.Debug(tag, $"SVGVisualURL START");
+
+            var testingTarget = new SVGVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object SVGVisual");
+            Assert.IsInstanceOf<SVGVisual>(testingTarget, "Should be an instance of SVGVisual type.");
+
+            testingTarget.URL = image_path;
+            Assert.AreEqual(image_path, testingTarget.URL, "Retrieved URL should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"SVGVisualURL END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("SVGVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.SVGVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void SVGVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"SVGVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+            
+            var testingTarget = new MySVGVisual()
+            {
+                URL = image_path,
+            };
+            Assert.IsInstanceOf<SVGVisual>(testingTarget, "Should be an instance of SVGVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"SVGVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSTextVisual.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSTextVisual.cs
new file mode 100755 (executable)
index 0000000..7eb71a1
--- /dev/null
@@ -0,0 +1,508 @@
+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("public/Visuals/TextVisual")]
+    public class PublicTextVisualTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyTextVisual : TextVisual
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual constructor.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.TextVisual C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualConstructor()
+        {
+            tlog.Debug(tag, $"TextVisualConstructor START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual Text.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.Text A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualText()
+        {
+            tlog.Debug(tag, $"TextVisualText START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            testingTarget.Text = "Text";
+            Assert.AreEqual("Text", testingTarget.Text, "Retrieved Text should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualText END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual FontFamily.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.FontFamily A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualFontFamily()
+        {
+            tlog.Debug(tag, $"TextVisualFontFamily START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            testingTarget.FontFamily = "FontFamily";
+            Assert.AreEqual("FontFamily", testingTarget.FontFamily, "Retrieved FontFamily should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualFontFamily END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual FontStyle.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.FontStyle A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualFontStyle()
+        {
+            tlog.Debug(tag, $"TextVisualFontStyle START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            PropertyMap fontStyleMapSet = new PropertyMap();
+            fontStyleMapSet.Add("weight", new PropertyValue("bold"));
+            fontStyleMapSet.Add("width", new PropertyValue("condensed"));
+            fontStyleMapSet.Add("slant", new PropertyValue("italic"));
+
+            testingTarget.FontStyle = fontStyleMapSet;
+                
+            PropertyMap fontStyleMapGet = new PropertyMap();
+            fontStyleMapGet = testingTarget.FontStyle;
+            Assert.IsNotNull(fontStyleMapGet, "Should not be null");
+
+            string str = "";
+            fontStyleMapGet.Find(0, "weight").Get(out str);
+            Assert.AreEqual("bold", str, "fontStyleMapGet.Find(\"weight\") should equals to the set value");
+            fontStyleMapGet.Find(1, "width").Get(out str);
+            Assert.AreEqual("condensed", str, "fontStyleMapGet.Find(\"width\") should equals to the set value");
+            fontStyleMapGet.Find(2, "slant").Get(out str);
+            Assert.AreEqual("italic", str, "fontStyleMapGet.Find(\"slant\") should equals to the set value");
+
+            fontStyleMapSet.Dispose();
+            fontStyleMapGet.Dispose();
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualFontStyle END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual PointSize.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.PointSize A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualPointSize()
+        {
+            tlog.Debug(tag, $"TextVisualPointSize START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            testingTarget.PointSize = 1.0f;
+            Assert.AreEqual(1.0f, testingTarget.PointSize, "Retrieved PointSize should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualPointSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual MultiLine.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.MultiLine A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualMultiLine()
+        {
+            tlog.Debug(tag, $"TextVisualMultiLine START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            testingTarget.MultiLine = true;
+            Assert.AreEqual(true, testingTarget.MultiLine, "Retrieved MultiLine should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualMultiLine END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual HorizontalAlignment.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.HorizontalAlignment A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualHorizontalAlignment()
+        {
+            tlog.Debug(tag, $"TextVisualHorizontalAlignment START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            Assert.AreEqual(HorizontalAlignment.Begin, testingTarget.HorizontalAlignment, "Retrieved HorizontalAlignment should be equal to set value");
+
+            testingTarget.HorizontalAlignment = HorizontalAlignment.Center;
+            Assert.AreEqual(HorizontalAlignment.Center, testingTarget.HorizontalAlignment, "Retrieved HorizontalAlignment should be equal to set value");
+
+            testingTarget.HorizontalAlignment = HorizontalAlignment.End;
+            Assert.AreEqual(HorizontalAlignment.End, testingTarget.HorizontalAlignment, "Retrieved HorizontalAlignment should be equal to set value");
+
+            testingTarget.HorizontalAlignment = HorizontalAlignment.Begin;
+            Assert.AreEqual(HorizontalAlignment.Begin, testingTarget.HorizontalAlignment, "Retrieved HorizontalAlignment should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualHorizontalAlignment END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual VerticalAlignment.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.VerticalAlignment A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualVerticalAlignment()
+        {
+            tlog.Debug(tag, $"TextVisualVerticalAlignment START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            Assert.AreEqual(VerticalAlignment.Top, testingTarget.VerticalAlignment, "Retrieved VerticalAlignment should be equal to set value");
+
+            testingTarget.VerticalAlignment = VerticalAlignment.Center;
+            Assert.AreEqual(VerticalAlignment.Center, testingTarget.VerticalAlignment, "Retrieved VerticalAlignment should be equal to set value");
+
+            testingTarget.VerticalAlignment = VerticalAlignment.Bottom;
+            Assert.AreEqual(VerticalAlignment.Bottom, testingTarget.VerticalAlignment, "Retrieved VerticalAlignment should be equal to set value");
+
+            testingTarget.VerticalAlignment = VerticalAlignment.Top;
+            Assert.AreEqual(VerticalAlignment.Top, testingTarget.VerticalAlignment, "Retrieved VerticalAlignment should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualVerticalAlignment END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual TextColor.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.TextColor A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualTextColor()
+        {
+            tlog.Debug(tag, $"TextVisualTextColor START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            using (Color color = new Color(1.0f, 1.0f, 1.0f, 1.0f))
+            {
+                testingTarget.TextColor = color;
+                Assert.AreEqual(1.0f, testingTarget.TextColor.R, "Retrieved TextColor.R should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.TextColor.G, "Retrieved TextColor.G should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.TextColor.B, "Retrieved TextColor.B should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.TextColor.A, "Retrieved TextColor.A should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualTextColor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual EnableMarkup.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.EnableMarkup A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualEnableMarkup()
+        {
+            tlog.Debug(tag, $"TextVisualEnableMarkup START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            testingTarget.EnableMarkup = true;
+            Assert.AreEqual(true, testingTarget.EnableMarkup, "Retrieved EnableMarkup should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualEnableMarkup END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual Shadow.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.Shadow A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualShadow()
+        {
+            tlog.Debug(tag, $"TextVisualShadow START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            PropertyMap shadowMapSet = new PropertyMap();
+            shadowMapSet.Add("color", new PropertyValue(new Color(1.0f, 0.1f, 0.3f, 0.5f)));
+            shadowMapSet.Add("offset", new PropertyValue(new Vector2(2.0f, 1.0f)));
+            shadowMapSet.Add("blurRadius", new PropertyValue(3.0f));
+            testingTarget.Shadow = shadowMapSet;
+
+            PropertyMap shadowMapGet = new PropertyMap();
+            shadowMapGet = testingTarget.Shadow;
+            Assert.IsNotNull(shadowMapGet, "Should not be null");
+
+            using (Color color = new Color())
+            {
+                shadowMapGet["color"].Get(color);
+                Assert.AreEqual(1.0f, color.R, "Retrieved color.R should be equal to set value");
+                Assert.AreEqual(0.1f, color.G, "Retrieved color.G should be equal to set value");
+                Assert.AreEqual(0.3f, color.B, "Retrieved color.B should be equal to set value");
+                Assert.AreEqual(0.5f, color.A, "Retrieved color.A should be equal to set value");
+            }
+
+            using (Vector2 vector2 = new Vector2())
+            {
+                shadowMapGet["offset"].Get(vector2);
+                Assert.AreEqual(2.0f, vector2.X, "Retrieved vector2.X should be equal to set value");
+                Assert.AreEqual(1.0f, vector2.Y, "Retrieved vector2.Y should be equal to set value");
+            }
+
+            float blurRadius;
+            shadowMapGet["blurRadius"].Get(out blurRadius);
+            Assert.AreEqual(3.0f, blurRadius, "Retrieved blurRadius should equals to the set value");
+
+            shadowMapSet.Dispose();
+            shadowMapGet.Dispose();
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualShadow END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual Underline.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.Underline A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualUnderline()
+        {
+            tlog.Debug(tag, $"TextVisualUnderline START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            PropertyMap underlineMapSet = new PropertyMap();
+            underlineMapSet.Add("enable", new PropertyValue("true"));
+            underlineMapSet.Add("color", new PropertyValue("green"));
+            underlineMapSet.Add("height", new PropertyValue("1"));
+            testingTarget.Underline = underlineMapSet;
+
+            PropertyMap underlineMapGet = new PropertyMap();
+            underlineMapGet = testingTarget.Underline;
+            Assert.IsNotNull(underlineMapGet, "Should not be null");
+
+            string str = "";
+            underlineMapGet["enable"].Get(out str);
+            Assert.AreEqual("true", str, "Retrieved enable should equals to the set value");
+            underlineMapGet["color"].Get(out str);
+            Assert.AreEqual("green", str, "Retrieved color should equals to the set value");
+            underlineMapGet["height"].Get(out str);
+            Assert.AreEqual("1", str, "Retrieved height should equals to the set value");
+
+            underlineMapGet.Dispose();
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualUnderline END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual Outline.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.Outline A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.comm")]
+        public void TextVisualOutline()
+        {
+            tlog.Debug(tag, $"TextVisualOutline START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            PropertyMap outlineMapSet = new PropertyMap();
+            outlineMapSet.Add("color", new PropertyValue(new Color(1.0f, 0.1f, 0.3f, 0.5f)));
+            outlineMapSet.Add("width", new PropertyValue("1"));
+            testingTarget.Outline = outlineMapSet;
+
+            PropertyMap outlineMapGet = new PropertyMap();
+            outlineMapGet = testingTarget.Outline;
+            Assert.IsNotNull(outlineMapGet, "Should not be null");
+
+            using (Color color = new Color())
+            {
+                outlineMapGet["color"].Get(color);
+                Assert.AreEqual(1.0f, color.R, "Retrieved color.R should be equal to set value");
+                Assert.AreEqual(0.1f, color.G, "Retrieved color.G should be equal to set value");
+                Assert.AreEqual(0.3f, color.B, "Retrieved color.B should be equal to set value");
+                Assert.AreEqual(0.5f, color.A, "Retrieved color.A should be equal to set value");
+            }
+
+            string str = "";
+            outlineMapGet["width"].Get(out str);
+            Assert.AreEqual("1", str, "Retrieved width should equals to the set value");
+
+            outlineMapSet.Dispose();
+            outlineMapGet.Dispose();
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualOutline END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual Background.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.Background A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.comm")]
+        public void TextVisualBackground()
+        {
+            tlog.Debug(tag, $"TextVisualBackground START");
+
+            var testingTarget = new TextVisual();
+            Assert.IsNotNull(testingTarget, "Can't create success object TextVisual");
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+
+            PropertyMap backgroundMapSet = new PropertyMap();
+            backgroundMapSet.Add("enable", new PropertyValue(true));
+            backgroundMapSet.Add("color", new PropertyValue(new Color(1.0f, 0.1f, 0.3f, 0.5f)));
+            testingTarget.Background = backgroundMapSet;
+
+            PropertyMap backgroundMapGet = new PropertyMap();
+            backgroundMapGet = testingTarget.Background;
+            Assert.IsNotNull(backgroundMapGet, "Should not be null");
+
+            bool enable = false;
+            backgroundMapGet["enable"].Get(out enable);
+            Assert.AreEqual(true, enable, "Retrieved enable should equals to the set value");
+
+            using (Color color = new Color())
+            {
+                backgroundMapGet["color"].Get(color);
+                Assert.AreEqual(1.0f, color.R, "Retrieved color.R should be equal to set value");
+                Assert.AreEqual(0.1f, color.G, "Retrieved color.G should be equal to set value");
+                Assert.AreEqual(0.3f, color.B, "Retrieved color.B should be equal to set value");
+                Assert.AreEqual(0.5f, color.A, "Retrieved color.A should be equal to set value");
+            }
+
+            backgroundMapSet.Dispose();
+            backgroundMapGet.Dispose();
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualBackground END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("TextVisual ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.TextVisual.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void TextVisualComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"TextVisualComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyTextVisual()
+            {
+                Text = "Text",
+                PointSize = 1.0f,
+                FontFamily = "FontFamily",
+                FontStyle = new PropertyMap(),
+                MultiLine = true,
+                HorizontalAlignment = HorizontalAlignment.Center,
+                VerticalAlignment = VerticalAlignment.Center,
+                TextColor = new Color(1.0f, 0.3f, 0.5f, 1.0f),
+                EnableMarkup = true,
+                Shadow = new PropertyMap(),
+                Underline = new PropertyMap(),
+                Outline = new PropertyMap(),
+                Background = new PropertyMap() 
+            };
+            Assert.IsInstanceOf<TextVisual>(testingTarget, "Should be an instance of TextVisual type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"TextVisualComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualAnimator.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualAnimator.cs
new file mode 100755 (executable)
index 0000000..e47a881
--- /dev/null
@@ -0,0 +1,223 @@
+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("public/Visuals/VisualAnimator")]
+    public class PublicVisualAnimatorTest
+    {
+        private const string tag = "NUITEST";
+        private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
+        private static bool flagComposingPropertyMap;
+        internal class MyVisualAnimator : VisualAnimator
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator constructor.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.VisualAnimator C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorConstructor()
+        {
+            tlog.Debug(tag, $"VisualAnimatorConstructor START");
+
+            var testingTarget = new VisualAnimator();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualAnimator");
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator AlphaFunction.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.AlphaFunction A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorAlphaFunction()
+        {
+            tlog.Debug(tag, $"VisualAnimatorAlphaFunction START");
+
+            var testingTarget = new VisualAnimator();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualAnimator");
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+
+            testingTarget.AlphaFunction = AlphaFunction.BuiltinFunctions.EaseIn;
+            Assert.AreEqual(AlphaFunction.BuiltinFunctions.EaseIn, testingTarget.AlphaFunction, "Retrieved AlphaFunction should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorAlphaFunction END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator StartTime.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.StartTime A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorStartTime()
+        {
+            tlog.Debug(tag, $"VisualAnimatorStartTime START");
+
+            var testingTarget = new VisualAnimator();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualAnimator");
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+
+            testingTarget.StartTime = 10;
+            Assert.AreEqual(10, testingTarget.StartTime, "Retrieved StartTime should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorStartTime END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator EndTime.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.EndTime A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorEndTime()
+        {
+            tlog.Debug(tag, $"VisualAnimatorEndTime START");
+
+            var testingTarget = new VisualAnimator();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualAnimator");
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+
+            testingTarget.EndTime = 1000;
+            Assert.AreEqual(1000, testingTarget.EndTime, "Retrieved EndTime should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorEndTime END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator Target.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.Target A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorTarget()
+        {
+            tlog.Debug(tag, $"VisualAnimatorTarget START");
+
+            var testingTarget = new VisualAnimator();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualAnimator");
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+
+            testingTarget.Target = "IconVisual";
+            Assert.AreEqual("IconVisual", testingTarget.Target, "Retrieved Target should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorTarget END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator PropertyIndex.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.PropertyIndex A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorPropertyIndex()
+        {
+            tlog.Debug(tag, $"VisualAnimatorPropertyIndex START");
+
+            var testingTarget = new VisualAnimator();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualAnimator");
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+
+            testingTarget.PropertyIndex = "MixColor";
+            Assert.AreEqual("MixColor", testingTarget.PropertyIndex, "Retrieved PropertyIndex should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorPropertyIndex END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator DestinationValue.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.DestinationValue A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorDestinationValue()
+        {
+            tlog.Debug(tag, $"VisualAnimatorDestinationValue START");
+
+            var testingTarget = new VisualAnimator();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualAnimator");
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+
+            using (Color color = new Color(1.0f, 0.0f, 1.0f, 1.0f))
+            {
+                testingTarget.DestinationValue = color;
+                Assert.IsTrue(color.Equals(testingTarget.DestinationValue), "Retrieved DestinationValue should be equal to set value");
+            }
+                
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorDestinationValue END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualAnimator ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.VisualAnimator.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualAnimatorComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"VisualAnimatorComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyVisualAnimator()
+            {
+                AlphaFunction = AlphaFunction.BuiltinFunctions.EaseIn,
+                StartTime = 10,
+                EndTime = 200,
+                Target = "IconVisual",
+                PropertyIndex = "MixColor"
+            };
+            Assert.IsInstanceOf<VisualAnimator>(testingTarget, "Should be an instance of VisualAnimator type.");
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualAnimatorComposingPropertyMap END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualBase.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualBase.cs
new file mode 100755 (executable)
index 0000000..9b9a276
--- /dev/null
@@ -0,0 +1,325 @@
+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("public/Visuals/VisualBase")]
+    public class PublicVisualBaseTest
+    {
+        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("VisualBase constructor.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.VisualBase C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseConstructor()
+        {
+            tlog.Debug(tag, $"VisualBaseConstructor START");
+
+            var testingTarget = new VisualBase();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+            Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualBaseConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase Name.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.Name A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseName()
+        {
+            tlog.Debug(tag, $"VisualBaseName START");
+
+            VisualFactory visualfactory = VisualFactory.Instance;
+
+            PropertyMap propertyMap = new PropertyMap();
+            propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+            propertyMap.Insert(TextVisualProperty.Text, new PropertyValue("Hello Goodbye"));
+            
+            var testingTarget = visualfactory.CreateVisual(propertyMap);
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+            Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+            testingTarget.Name = "VisualBase1";
+            Assert.AreEqual("VisualBase1", testingTarget.Name, "Name function does not work, return incorrect name.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualBaseName END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase SetTransformAndSize.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.SetTransformAndSize M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR MCST")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseSetTransformAndSize()
+        {
+            tlog.Debug(tag, $"VisualBaseSetTransformAndSize START");
+
+            try
+            {
+                VisualFactory visualfactory = VisualFactory.Instance;
+
+                PropertyMap propertyMap = new PropertyMap();
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue("Hello Goodbye"));
+                
+                var testingTarget = visualfactory.CreateVisual(propertyMap);
+                Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+                Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+                using (Vector2 vec2 = new Vector2(2.0f, 0.8f))
+                {
+                    testingTarget.SetTransformAndSize(propertyMap, vec2);
+                }
+
+                testingTarget.Dispose();
+            }
+            catch (Exception e)
+            {
+                tlog.Error(tag, "Caught Exception" + e.ToString());
+                LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+                Assert.IsTrue(e is ArgumentException, "Argument Exception Not Recieved");
+            }
+
+            tlog.Debug(tag, $"VisualBaseSetTransformAndSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase GetHeightForWidth.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.GetHeightForWidth M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseGetHeightForWidth()
+        {
+            tlog.Debug(tag, $"VisualBaseGetHeightForWidth START");
+
+            VisualFactory visualfactory = VisualFactory.Instance;
+
+            using (PropertyMap propertyMap = new PropertyMap())
+            {
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue(""));
+                
+                var testingTarget = visualfactory.CreateVisual(propertyMap);
+                Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+                Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+                Assert.AreEqual(0.0f, testingTarget.GetHeightForWidth(0.0f), "The height got from GetHeightForWidth is not correct.");
+
+                testingTarget.Dispose();
+            }
+
+            tlog.Debug(tag, $"VisualBaseGetHeightForWidth END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase GetWidthForHeight.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.GetWidthForHeight M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseGetWidthForHeight()
+        {
+            tlog.Debug(tag, $"VisualBaseGetWidthForHeight START");
+
+            VisualFactory visualfactory = VisualFactory.Instance;
+
+            using (PropertyMap propertyMap = new PropertyMap())
+            {
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue(""));
+
+                var testingTarget = visualfactory.CreateVisual(propertyMap);
+                Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+                Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+                Assert.AreEqual(0.0f, testingTarget.GetWidthForHeight(0.0f), "The Width got from GetWidthForHeight is not correct.");
+
+                testingTarget.Dispose();
+            }
+
+            tlog.Debug(tag, $"VisualBaseGetWidthForHeight END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase GetNaturalSize.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.GetNaturalSize M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseGetNaturalSize()
+        {
+            tlog.Debug(tag, $"VisualBaseGetNaturalSize START");
+
+            try
+            {
+                VisualFactory visualfactory = VisualFactory.Instance;
+
+                using (PropertyMap propertyMap = new PropertyMap())
+                {
+                    propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+
+                    var testingTarget = visualfactory.CreateVisual(propertyMap);
+                    Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+                    Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+                    using (Size2D size2d = new Size2D(1, 2))
+                    {
+                        testingTarget.GetNaturalSize(size2d);
+                        Assert.AreEqual(0.0f, size2d.Height, "The Height got from GetNaturalSize is not right");
+                        Assert.AreEqual(0.0f, size2d.Width, "The Width got from GetNaturalSize is not right");
+                    }
+
+                    testingTarget.Dispose();
+                }
+
+                visualfactory.Dispose();
+            }
+            catch (Exception e)
+            {
+                tlog.Error(tag, "Caught Exception" + e.ToString());
+                LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+                Assert.Fail("Caught Exception" + e.ToString());
+            }
+
+            tlog.Debug(tag, $"VisualBaseGetNaturalSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase DepthIndex.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.DepthIndex A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseDepthIndex()
+        {
+            tlog.Debug(tag, $"VisualBaseDepthIndex START");
+
+            VisualFactory visualfactory = VisualFactory.Instance;
+
+            using (PropertyMap propertyMap = new PropertyMap())
+            {
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue("Hello Goodbye"));
+                
+                var testingTarget = visualfactory.CreateVisual(propertyMap);
+                Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+                Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+                testingTarget.DepthIndex = 1;
+                Assert.AreEqual(1, testingTarget.DepthIndex, "The DepthIndex got from DepthIndex is not right");
+
+                testingTarget.Dispose();
+            }
+            
+            visualfactory.Dispose();
+            tlog.Debug(tag, $"VisualBaseDepthIndex END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase Creation.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.Creation A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseCreation()
+        {
+            tlog.Debug(tag, $"VisualBaseCreation START");
+
+            try
+            {
+                VisualFactory visualfactory = VisualFactory.Instance;
+
+                using (PropertyMap propertyMap = new PropertyMap())
+                {
+                    propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+                    propertyMap.Insert(TextVisualProperty.Text, new PropertyValue("Hello"));
+                    propertyMap.Insert(TextVisualProperty.PointSize, new PropertyValue(10.0f));
+
+                    var testingTarget = visualfactory.CreateVisual(propertyMap);
+                    Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+                    Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+
+                    var result = testingTarget.Creation;
+                    Assert.IsNotNull(result, "Can't create success object VisualBase");
+                    Assert.IsInstanceOf<PropertyMap>(result, "Should return PropertyMap instance.");
+
+                    testingTarget.Dispose();
+                    result.Dispose();
+                }
+
+                visualfactory.Dispose();
+            }
+            catch (Exception e)
+            {
+                tlog.Error(tag, "Caught Exception" + e.ToString());
+                LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
+                Assert.IsTrue(e is ArgumentException, "Argument Exception Not Recieved");
+            }
+
+            tlog.Debug(tag, $"VisualBaseCreation END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualBase Dispose.")]
+        [Property("SPEC", "Tizen.NUI.VisualBase.Dispose M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR MCST")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualBaseDispose()
+        {
+            tlog.Debug(tag, $"VisualBaseDispose START");
+
+            var testingTarget = new VisualBase();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+            Assert.IsInstanceOf<VisualBase>(testingTarget, "Should return VisualBase instance.");
+            try
+            {
+                testingTarget.Dispose();
+            }
+            catch (Exception e)
+            {
+                Assert.Fail("Caught Exception" + e.ToString());
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualBaseDispose END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualFactory.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualFactory.cs
new file mode 100755 (executable)
index 0000000..acf4f00
--- /dev/null
@@ -0,0 +1,77 @@
+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("public/Visuals/VisualFactory")]
+    public class PublicVisualFactoryTest
+    {
+        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("VisualFactory CreateVisual.")]
+        [Property("SPEC", "Tizen.NUI.VisualFactory.CreateVisual M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualFactoryCreateVisual()
+        {
+            tlog.Debug(tag, $"VisualFactoryCreateVisual START");
+
+            VisualFactory visualfactory = VisualFactory.Instance;
+
+            using (PropertyMap propertyMap = new PropertyMap())
+            {
+                propertyMap.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+                propertyMap.Insert(TextVisualProperty.Text, new PropertyValue("Hello Goodbye"));
+
+                var testingTarget = visualfactory.CreateVisual(propertyMap);
+                Assert.IsNotNull(testingTarget, "Can't create success object VisualBase");
+                Assert.IsInstanceOf<VisualBase>(testingTarget, "CreateVisual Should return VisualBase instance.");
+
+                testingTarget.Dispose();
+            }
+
+            visualfactory.Dispose();
+            tlog.Debug(tag, $"VisualFactoryCreateVisual END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualFactory Instance.")]
+        [Property("SPEC", "Tizen.NUI.VisualFactory.Instance A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualFactoryInstance()
+        {
+            tlog.Debug(tag, $"VisualFactoryInstance START");
+
+            var testingTarget = VisualFactory.Instance;
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualFactory");
+            Assert.IsInstanceOf<VisualFactory>(testingTarget, "Should return VisualFactory instance.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualFactoryInstance END (OK)");
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualMaps.cs b/test/Tizen.NUI.Tests/Tizen.NUI.TCT/testcase/public/Visuals/TSVisualMaps.cs
new file mode 100755 (executable)
index 0000000..120cb39
--- /dev/null
@@ -0,0 +1,636 @@
+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("public/Visuals/VisualMaps")]
+    public class PublicVisualMapsTest
+    {
+        private const string tag = "NUITEST";
+        private static bool flagComposingPropertyMap;
+        internal class MyVisualMap : VisualMap
+        {
+            protected override void ComposingPropertyMap()
+            {
+                flagComposingPropertyMap = true;
+                base.ComposingPropertyMap();
+            }
+        }
+
+        [SetUp]
+        public void Init()
+        {
+            tlog.Info(tag, "Init() is called!");
+        }
+
+        [TearDown]
+        public void Destroy()
+        {
+            tlog.Info(tag, "Destroy() is called!");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap constructor.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.VisualMap C")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "CONSTR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapConstructor()
+        {
+            tlog.Debug(tag, $"VisualMapConstructor START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapConstructor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap VisualSize.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.Size A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapSize()
+        {
+            tlog.Debug(tag, $"VisualMapSize START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            using (Vector2 vector2 = new Vector2(1.0f, 1.0f))
+            {
+                testingTarget.Size = vector2;
+                Assert.AreEqual(1.0f, testingTarget.Size.Width, "Retrieved VisualSize.Width should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Size.Height, "Retrieved VisualSize.Height should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap MixColor.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.MixColor A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapMixColor()
+        {
+            tlog.Debug(tag, $"VisualMapMixColor START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            using (Color color = new Color(0.5f, 1.0f, 0.6f, 1.0f))
+            {
+                testingTarget.MixColor = color;
+                Assert.AreEqual(0.5f, testingTarget.MixColor.R, "Retrieved VisualSize.MixColor.R should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.MixColor.G, "Retrieved VisualSize.MixColor.G should be equal to set value");
+                Assert.AreEqual(0.6f, testingTarget.MixColor.B, "Retrieved VisualSize.MixColor.B should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.MixColor.A, "Retrieved VisualSize.MixColor.A should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapMixColor END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap Opacity.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.Opacity A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapOpacity()
+        {
+            tlog.Debug(tag, $"VisualMapOpacity START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.Opacity = 0.5f;
+            Assert.AreEqual(0.5f, testingTarget.Opacity, "Retrieved VisualSize.Opacity should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapOpacity END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap PremultipliedAlpha.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.PremultipliedAlpha A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapPremultipliedAlpha()
+        {
+            tlog.Debug(tag, $"VisualMapPremultipliedAlpha START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.PremultipliedAlpha = true;
+            Assert.IsTrue(testingTarget.PremultipliedAlpha, "Retrieved VisualSize.PremultipliedAlpha should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapPremultipliedAlpha END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap RelativePosition.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.RelativePosition A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapRelativePosition()
+        {
+            tlog.Debug(tag, $"VisualMapRelativePosition START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.RelativePosition = new RelativeVector2(0.5f, 0.5f);
+            Assert.AreEqual(0.5f, testingTarget.RelativePosition.X, "Retrieved VisualSize.RelativePosition.X should be equal to set value");
+            Assert.AreEqual(0.5f, testingTarget.RelativePosition.Y, "Retrieved VisualSize.RelativePosition.Y should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapRelativePosition END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap RelativeSize.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.RelativeSize A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapRelativeSize()
+        {
+            tlog.Debug(tag, $"VisualMapRelativeSize START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.RelativeSize = new RelativeVector2(0.5f, 0.5f);
+            Assert.AreEqual(0.5f, testingTarget.RelativeSize.X, "Retrieved VisualSize.RelativeSize.X should be equal to set value");
+            Assert.AreEqual(0.5f, testingTarget.RelativeSize.Y, "Retrieved VisualSize.RelativeSize.Y should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapRelativeSize END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap Shader.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.Shader A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapShader()
+        {
+            tlog.Debug(tag, $"VisualMapShader START");
+
+            using (PropertyMap propertyMap = new PropertyMap())
+            {
+                propertyMap.Insert(Visual.ShaderProperty.FragmentShader, new PropertyValue("Foobar"));
+
+                var testingTarget = new VisualMap();
+                Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+                Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+                testingTarget.Shader = propertyMap;
+
+                string str = "";
+                (testingTarget.Shader.Find(Visual.ShaderProperty.FragmentShader)).Get(out str);
+                Assert.AreEqual("Foobar", str, "Retrieved PremultipliedAlpha should be equal to set value");
+
+                testingTarget.Dispose();
+            }
+
+            tlog.Debug(tag, $"VisualMapShader END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap Offset.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.Position A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapPosition()
+        {
+            tlog.Debug(tag, $"VisualMapPosition START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            using (Vector2 vector2 = new Vector2(1.0f, 1.0f))
+            {
+                testingTarget.Position = vector2;
+                Assert.AreEqual(1.0f, testingTarget.Position.X, "Retrieved Offset.X should be equal to set value");
+                Assert.AreEqual(1.0f, testingTarget.Position.Y, "Retrieved Offset.Y should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapPosition END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap PositionPolicy.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.PositionPolicy A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapPositionPolicy()
+        {
+            tlog.Debug(tag, $"VisualMapPositionPolicy START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.PositionPolicy, "Retrieved PositionPolicy should be equal to set value");
+
+            testingTarget.PositionPolicy = VisualTransformPolicyType.Absolute;
+            Assert.AreEqual(VisualTransformPolicyType.Absolute, testingTarget.PositionPolicy, "Retrieved PositionPolicy should be equal to set value");
+
+            testingTarget.PositionPolicy = VisualTransformPolicyType.Relative;
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.PositionPolicy, "Retrieved PositionPolicy should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapPositionPolicy END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap PositionPolicyX.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.PositionPolicyX A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapPositionPolicyX()
+        {
+            tlog.Debug(tag, $"VisualMapPositionPolicyX START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.PositionPolicyX, "Retrieved PositionPolicyX should be equal to set value");
+
+            testingTarget.PositionPolicyX = VisualTransformPolicyType.Absolute;
+            Assert.AreEqual(VisualTransformPolicyType.Absolute, testingTarget.PositionPolicyX, "Retrieved PositionPolicyX should be equal to set value");
+
+            testingTarget.PositionPolicyX = VisualTransformPolicyType.Relative;
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.PositionPolicyX, "Retrieved PositionPolicyX should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapPositionPolicyX END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap PositionPolicyY.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.PositionPolicyY A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapPositionPolicyY()
+        {
+            tlog.Debug(tag, $"VisualMapPositionPolicyY START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.PositionPolicyY, "Retrieved PositionPolicyY should be equal to set value");
+
+            testingTarget.PositionPolicyY = VisualTransformPolicyType.Absolute;
+            Assert.AreEqual(VisualTransformPolicyType.Absolute, testingTarget.PositionPolicyY, "Retrieved PositionPolicyY should be equal to set value");
+
+            testingTarget.PositionPolicyY = VisualTransformPolicyType.Relative;
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.PositionPolicyY, "Retrieved PositionPolicyY should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapPositionPolicyY END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap SizePolicy.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.SizePolicy A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapSizePolicy()
+        {
+            tlog.Debug(tag, $"VisualMapSizePolicy START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.SizePolicy, "Retrieved SizePolicy should be equal to set value");
+
+            testingTarget.SizePolicy = VisualTransformPolicyType.Absolute;
+            Assert.AreEqual(VisualTransformPolicyType.Absolute, testingTarget.SizePolicy, "Retrieved SizePolicy should be equal to set value");
+
+            testingTarget.SizePolicy = VisualTransformPolicyType.Relative;
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.SizePolicy, "Retrieved SizePolicy should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapSizePolicy END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap SizePolicyWidth.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.SizePolicyWidth A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapSizePolicyWidth()
+        {
+            tlog.Debug(tag, $"VisualMapSizePolicyWidth START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.SizePolicyWidth, "Retrieved SizePolicyWidth should be equal to set value");
+
+            testingTarget.SizePolicyWidth = VisualTransformPolicyType.Absolute;
+            Assert.AreEqual(VisualTransformPolicyType.Absolute, testingTarget.SizePolicyWidth, "Retrieved SizePolicyWidth should be equal to set value");
+
+            testingTarget.SizePolicyWidth = VisualTransformPolicyType.Relative;
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.SizePolicyWidth, "Retrieved SizePolicyWidth should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapSizePolicyWidth END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap SizePolicyHeight.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.SizePolicyHeight A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapSizePolicyHeight()
+        {
+            tlog.Debug(tag, $"VisualMapSizePolicyHeight START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.SizePolicyHeight, "Retrieved SizePolicyHeight should be equal to set value");
+
+            testingTarget.SizePolicyHeight = VisualTransformPolicyType.Absolute;
+            Assert.AreEqual(VisualTransformPolicyType.Absolute, testingTarget.SizePolicyHeight, "Retrieved SizePolicyHeight should be equal to set value");
+
+            testingTarget.SizePolicyHeight = VisualTransformPolicyType.Relative;
+            Assert.AreEqual(VisualTransformPolicyType.Relative, testingTarget.SizePolicyHeight, "Retrieved SizePolicyHeight should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapSizePolicyHeight END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap Origin.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.Origin A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@.samsung.com")]
+        public void VisualMapOrigin()
+        {
+            tlog.Debug(tag, $"VisualMapOrigin START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.Origin = Visual.AlignType.Center;
+            Assert.AreEqual(Visual.AlignType.Center, testingTarget.Origin, "Retrieved Origin should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapOrigin END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap AnchorPoint.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.AnchorPoint A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapAnchorPoint()
+        {
+            tlog.Debug(tag, $"VisualMapAnchorPoint START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.AnchorPoint = Visual.AlignType.Center;
+            Assert.AreEqual(Visual.AlignType.Center, testingTarget.AnchorPoint, "Retrieved PivotPoint should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapAnchorPoint END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap DepthIndex.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.DepthIndex A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapDepthIndex()
+        {
+            tlog.Debug(tag, $"VisualMapDepthIndex START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.DepthIndex = 1;
+            Assert.AreEqual(1, testingTarget.DepthIndex, "Retrieved DepthIndex should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapDepthIndex END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap OutputTransformMap.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.OutputTransformMap A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapOutputTransformMap()
+        {
+            tlog.Debug(tag, $"VisualMapOutputTransformMap START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            using (Vector2 vector2 = new Vector2(1.0f, 1.0f))
+            {
+                testingTarget.Size = vector2;
+                testingTarget.Position = vector2;
+                testingTarget.PositionPolicy = VisualTransformPolicyType.Absolute;
+                testingTarget.SizePolicy = VisualTransformPolicyType.Absolute;
+                testingTarget.Origin = Visual.AlignType.Center;
+                testingTarget.AnchorPoint = Visual.AlignType.Center;
+
+                var result = testingTarget.OutputTransformMap;
+                Assert.IsNotNull(result, "Can't create success object VisualMap");
+                Assert.IsInstanceOf<PropertyMap>(result, "Should be an instance of PropertyMap type.");
+
+                result.Find((int)VisualTransformPropertyType.Size).Get(vector2);
+                Assert.AreEqual(1.0f, vector2.X, "Retrieved VisualSize.X should be equal to set value");
+                Assert.AreEqual(1.0f, vector2.Y, "Retrieved VisualSize.Y should be equal to set value");
+                result.Find((int)VisualTransformPropertyType.Offset).Get(vector2);
+                Assert.AreEqual(1.0f, vector2.X, "Retrieved Offset.X should be equal to set value");
+                Assert.AreEqual(1.0f, vector2.Y, "Retrieved Offset.Y should be equal to set value");
+                result.Find((int)VisualTransformPropertyType.OffsetPolicy).Get(vector2);
+                Assert.AreEqual(1.0f, vector2.X, "Retrieved OffsetPolicy.X should be equal to set value");
+                Assert.AreEqual(1.0f, vector2.Y, "Retrieved OffsetPolicy.Y should be equal to set value");
+                result.Find((int)VisualTransformPropertyType.SizePolicy).Get(vector2);
+                Assert.AreEqual(1.0f, vector2.X, "Retrieved SizePolicy.X should be equal to set value");
+                Assert.AreEqual(1.0f, vector2.Y, "Retrieved SizePolicy.Y should be equal to set value");
+
+                int type = 0;
+                result.Find((int)VisualTransformPropertyType.Origin).Get(out type);
+                Assert.AreEqual((int)Visual.AlignType.Center, type, "Retrieved Origin should be equal to set value");
+                result.Find((int)VisualTransformPropertyType.AnchorPoint).Get(out type);
+                Assert.AreEqual((int)Visual.AlignType.Center, type, "Retrieved AnchorPoint should be equal to set value");
+            }
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapOutputTransformMap END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap OutputVisualMap.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.OutputVisualMap A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRO")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapOutputVisualMap()
+        {
+            tlog.Debug(tag, $"VisualMapOutputVisualMap START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            var result = testingTarget.OutputVisualMap;
+            Assert.IsNotNull(result, "Should not be null");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapOutputVisualMap END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap VisualFittingMode.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.VisualFittingMode A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapVisualFittingMode()
+        {
+            tlog.Debug(tag, $"VisualMapVisualFittingMode START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.VisualFittingMode = VisualFittingModeType.Fill;
+            Assert.AreEqual(VisualFittingModeType.Fill, testingTarget.VisualFittingMode, "Retrieved VisualFittingMode should be equal to set value");
+
+            testingTarget.VisualFittingMode = VisualFittingModeType.FitKeepAspectRatio;
+            Assert.AreEqual(VisualFittingModeType.FitKeepAspectRatio, testingTarget.VisualFittingMode, "Retrieved VisualFittingMode should be equal to set value");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapVisualFittingMode END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap CornerRadius.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.CornerRadius A")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "PRW")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapCornerRadius()
+        {
+            tlog.Debug(tag, $"VisualMapCornerRadius START");
+
+            var testingTarget = new VisualMap();
+            Assert.IsNotNull(testingTarget, "Can't create success object VisualMap");
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+
+            testingTarget.CornerRadius = new Vector4(1.0f, 1.0f, 1.0f, 1.0f);
+
+            Assert.AreEqual(1.0f, testingTarget.CornerRadius.X);
+            Assert.AreEqual(1.0f, testingTarget.CornerRadius.Y);
+            Assert.AreEqual(1.0f, testingTarget.CornerRadius.Z);
+            Assert.AreEqual(1.0f, testingTarget.CornerRadius.W);
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapCornerRadius END (OK)");
+        }
+
+        [Test]
+        [Category("P1")]
+        [Description("VisualMap ComposingPropertyMap.")]
+        [Property("SPEC", "Tizen.NUI.VisualMap.ComposingPropertyMap M")]
+        [Property("SPEC_URL", "-")]
+        [Property("CRITERIA", "MR")]
+        [Property("AUTHOR", "guowei.wang@samsung.com")]
+        public void VisualMapComposingPropertyMap()
+        {
+            tlog.Debug(tag, $"VisualMapComposingPropertyMap START");
+
+            flagComposingPropertyMap = false;
+            Assert.False(flagComposingPropertyMap, "flagComposingPropertyMap should false initial");
+
+            var testingTarget = new MyVisualMap();
+            Assert.IsInstanceOf<VisualMap>(testingTarget, "Should be an instance of VisualMap type.");
+            
+            PropertyMap propertyMap = testingTarget.OutputVisualMap;
+            Assert.AreEqual(0, propertyMap.Count(), "Retrieved PropertyMap count should be 0");
+            Assert.True(flagComposingPropertyMap, "ComposingPropertyMap overrided method not invoked.");
+
+            testingTarget.Dispose();
+            tlog.Debug(tag, $"VisualMapComposingPropertyMap END (OK)");
+        }
+    }
+}