e2765c52489cd9b30d3f5c2689805c740af98f1f
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Components.Devel.Tests / testcase / Controls / TSSwitch.cs
1 using global::System;
2 using NUnit.Framework;
3 using NUnit.Framework.TUnit;
4 using Tizen.NUI;
5 using Tizen.NUI.Components;
6 using Tizen.NUI.BaseComponents;
7
8 namespace Tizen.NUI.Components.Devel.Tests
9 {
10     using static Tizen.NUI.BaseComponents.View;
11     using tlog = Tizen.Log;
12
13     [TestFixture]
14     [Description("Controls/Switch")]
15     public class SwitchTest
16     {
17         private const string tag = "NUITEST";
18         private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
19
20         [Obsolete]
21         private void OnSelectedEvent(object sender, Switch.SelectEventArgs e) { }
22
23         private void OnSelectedChanged(object sender, SelectedChangedEventArgs e) { }
24
25         internal class MySwitch : Switch
26         {
27             public MySwitch() : base()
28             { }
29
30             public void OnAccessibilityCalculateStates()
31             {
32                 base.AccessibilityCalculateStates();
33             }
34
35             public void MyOnControlStateChanged(ControlStateChangedEventArgs controlStateChangedInfo)
36             {
37                 base.OnControlStateChanged(controlStateChangedInfo);
38             }
39         }
40
41         [SetUp]
42         public void Init()
43         {
44             tlog.Info(tag, "Init() is called!");
45         }
46
47         [TearDown]
48         public void Destroy()
49         {
50             tlog.Info(tag, "Destroy() is called!");
51         }
52
53         [Test]
54         [Category("P1")]
55         [Description("Switch AccessibilityCalculateStates.")]
56         [Property("SPEC", "Tizen.NUI.Components.Switch.AccessibilityCalculateStates M")]
57         [Property("SPEC_URL", "-")]
58         [Property("CRITERIA", "MR")]
59         [Property("COVPARAM", "")]
60         [Property("AUTHOR", "guowei.wang@samsung.com")]
61         public void SwitchAccessibilityCalculateStates()
62         {
63             tlog.Debug(tag, $"SwitchAccessibilityCalculateStates START");
64
65             var testingTarget = new MySwitch();
66             Assert.IsNotNull(testingTarget, "null handle");
67             Assert.IsInstanceOf<Switch>(testingTarget, "Should return Switch instance.");
68
69             try
70             {
71                 testingTarget.OnAccessibilityCalculateStates();
72             }
73             catch (Exception e)
74             {
75                 tlog.Debug(tag, e.Message.ToString());
76                 Assert.Fail("Caught Exception : Failed!");
77             }
78
79             testingTarget.Dispose();
80             tlog.Debug(tag, $"SwitchAccessibilityCalculateStates END (OK)");
81         }
82
83         [Test]
84         [Category("P1")]
85         [Description("Switch Track.")]
86         [Property("SPEC", "Tizen.NUI.Components.Switch.Track A")]
87         [Property("SPEC_URL", "-")]
88         [Property("CRITERIA", "PRW")]
89         [Property("COVPARAM", "")]
90         [Property("AUTHOR", "guowei.wang@samsung.com")]
91         public void SwitchTrack()
92         {
93             tlog.Debug(tag, $"SwitchTrack START");
94
95             var testingTarget = new Switch();
96             Assert.IsNotNull(testingTarget, "null handle");
97             Assert.IsInstanceOf<Switch>(testingTarget, "Should return Switch instance.");
98
99             testingTarget.Track = new ImageView(image_path);
100             tlog.Debug(tag, "Track : " + testingTarget.Track);
101
102             testingTarget.Thumb = new ImageView(image_path);
103             tlog.Debug(tag, "Thumb : " + testingTarget.Thumb);
104
105             testingTarget.Dispose();
106             tlog.Debug(tag, $"SwitchTrack END (OK)");
107         }
108
109         [Test]
110         [Category("P1")]
111         [Description("Switch OnKey.")]
112         [Property("SPEC", "Tizen.NUI.Components.Switch.OnKey M")]
113         [Property("SPEC_URL", "-")]
114         [Property("CRITERIA", "PRW")]
115         [Property("COVPARAM", "")]
116         [Property("AUTHOR", "guowei.wang@samsung.com")]
117         public void SwitchOnKey()
118         {
119             tlog.Debug(tag, $"SwitchOnKey START");
120
121             var testingTarget = new Switch();
122             Assert.IsNotNull(testingTarget, "null handle");
123             Assert.IsInstanceOf<Switch>(testingTarget, "Should return Switch instance.");
124
125             try
126             {
127                 using (Key key = new Key())
128                 {
129                     testingTarget.OnKey(key);
130                 }
131             }
132             catch (Exception e)
133             {
134                 tlog.Debug(tag, e.Message.ToString());
135                 Assert.Fail("Caught Exception : Failed!");
136             }
137                
138             testingTarget.Dispose();
139             tlog.Debug(tag, $"SwitchOnKey END (OK)");
140         }
141
142         [Test]
143         [Category("P1")]
144         [Description("Switch OnKey.")]
145         [Property("SPEC", "Tizen.NUI.Components.Switch.OnControlStateChanged M")]
146         [Property("SPEC_URL", "-")]
147         [Property("CRITERIA", "PRW")]
148         [Property("COVPARAM", "")]
149         [Property("AUTHOR", "guowei.wang@samsung.com")]
150         [Obsolete]
151         public void SwitchOnControlStateChanged()
152         {
153             tlog.Debug(tag, $"SwitchOnControlStateChanged START");
154
155             var testingTarget = new MySwitch();
156             Assert.IsNotNull(testingTarget, "null handle");
157             Assert.IsInstanceOf<Switch>(testingTarget, "Should return Switch instance.");
158
159             testingTarget.IsSelectable = true;
160             testingTarget.SelectedEvent += OnSelectedEvent;
161             testingTarget.SelectedChanged += OnSelectedChanged;
162
163             try
164             {
165                 ControlStateChangedEventArgs args = new ControlStateChangedEventArgs(ControlState.Selected, ControlState.Normal);
166                 testingTarget.MyOnControlStateChanged(args);
167             }
168             catch (Exception e)
169             {
170                 tlog.Debug(tag, e.Message.ToString());
171                 Assert.Fail("Caught Exception : Failed!");
172             }
173
174             testingTarget.SelectedEvent -= OnSelectedEvent;
175             testingTarget.SelectedChanged -= OnSelectedChanged;
176
177             testingTarget.Dispose();
178             tlog.Debug(tag, $"SwitchOnControlStateChanged END (OK)");
179         }
180     }
181 }