1 using NUnit.Framework;
5 namespace Tizen.NUI.Devel.Tests
7 using tlog = Tizen.Log;
10 [Description("public/xaml/MarkupExtensions/TypeExtension")]
11 public class PublicTypeExtensionTest
13 private const string tag = "NUITEST";
14 private TypeExtension tExtension;
16 internal class IServiceProviderImpl : IServiceProvider
18 public object GetService(Type serviceType) { return null; }
21 internal class IXamlTypeResolverImpl : IXamlTypeResolver
23 Type IXamlTypeResolver.Resolve(string qualifiedTypeName, IServiceProvider serviceProvider)
25 return typeof(string);
28 bool IXamlTypeResolver.TryResolve(string qualifiedTypeName, out Type type)
30 type = typeof(string);
35 internal class IServiceProviderImpl2 : IServiceProvider
37 public object GetService(Type serviceType) { return new IXamlTypeResolverImpl(); }
43 tlog.Info(tag, "Init() is called!");
44 tExtension = new TypeExtension();
51 tlog.Info(tag, "Destroy() is called!");
56 [Description("TypeExtension TypeName")]
57 [Property("SPEC", "Tizen.NUI.Xaml.TypeExtension.TypeName A")]
58 [Property("SPEC_URL", "-")]
59 [Property("CRITERIA", "PRW")]
60 public void TypeExtensionTypeName()
62 tlog.Debug(tag, $"TypeExtensionTypeName START");
66 var name = tExtension.TypeName;
67 tExtension.TypeName = name;
68 Assert.AreEqual(name, tExtension.TypeName, "Should be equal");
72 tlog.Debug(tag, e.Message.ToString());
73 Assert.Fail("Caught Exception : Failed!");
76 tlog.Debug(tag, $"TypeExtensionTypeName END");
81 [Description("TypeExtension ProvideValue")]
82 [Property("SPEC", "Tizen.NUI.Xaml.TypeExtension.ProvideValue M")]
83 [Property("SPEC_URL", "-")]
84 [Property("CRITERIA", "MR")]
85 public void TypeExtensionProvideValue()
87 tlog.Debug(tag, $"TypeExtensionProvideValue START");
89 tExtension.TypeName = this.GetType().ToString();
90 Assert.Throws<ArgumentException>(() => tExtension.ProvideValue(new IServiceProviderImpl()));
91 tlog.Debug(tag, $"TypeExtensionProvideValue END");
96 [Description("TypeExtension ProvideValue")]
97 [Property("SPEC", "Tizen.NUI.Xaml.TypeExtension.ProvideValue M")]
98 [Property("SPEC_URL", "-")]
99 [Property("CRITERIA", "MR")]
100 public void TypeExtensionProvideValue2()
102 tlog.Debug(tag, $"TypeExtensionProvideValue2 START");
103 Assert.Throws<InvalidOperationException>(() => tExtension.ProvideValue(null));
104 tlog.Debug(tag, $"TypeExtensionProvideValue2 END");
109 [Description("TypeExtension ProvideValue")]
110 [Property("SPEC", "Tizen.NUI.Xaml.TypeExtension.ProvideValue M")]
111 [Property("SPEC_URL", "-")]
112 [Property("CRITERIA", "MR")]
113 public void TypeExtensionProvideValue3()
115 tlog.Debug(tag, $"TypeExtensionProvideValue3 START");
116 tExtension.TypeName = this.GetType().ToString();
117 Assert.Throws<ArgumentNullException>(() => tExtension.ProvideValue(null));
118 tlog.Debug(tag, $"TypeExtensionProvideValue3 END");
123 [Description("TypeExtension ProvideValue")]
124 [Property("SPEC", "Tizen.NUI.Xaml.TypeExtension.ProvideValue M")]
125 [Property("SPEC_URL", "-")]
126 [Property("CRITERIA", "MR")]
127 public void TypeExtensionProvideValue4()
129 tlog.Debug(tag, $"TypeExtensionProvideValue4 START");
133 tExtension.TypeName = this.GetType().ToString();
134 var ret = tExtension.ProvideValue(new IServiceProviderImpl2());
135 Assert.IsNotNull(ret, "Should not be null");
139 tlog.Debug(tag, e.Message.ToString());
140 Assert.Fail("Caught Exception : Failed!");
142 tlog.Debug(tag, $"TypeExtensionProvideValue4 END");