public void DecorateClassTest() { var decorator = new ScopeEnumDecorator(); var service = new MockService(); var decl = new CodeTypeDeclaration(); // Confirm that no enumeration is added if 0 scopes are available. decorator.DecorateClass(service, decl); Assert.AreEqual(0, decl.Members.Count); // Confirm that an enumeration is added if scopes are available. service.Scopes.Add("a", new Scope { ID = "a", Description = "description A" }); service.Scopes.Add("b", new Scope { ID = "b", Description = "description B" }); decorator.DecorateClass(service, decl); Assert.AreEqual(1, decl.Members.Count); Assert.IsInstanceOf<CodeTypeDeclaration>(decl.Members[0]); CodeTypeDeclaration enumType = decl.Members[0] as CodeTypeDeclaration; Assert.IsNotNull(enumType); Assert.IsTrue(enumType.IsEnum); Assert.AreEqual(ScopeEnumDecorator.EnumName, enumType.Name); }
public void CompileTest() { var decorator = new ScopeEnumDecorator(); var service = new MockService(); var decl = new CodeTypeDeclaration("TestClass"); // Test with a simple scope enumeration service.Scopes.Add("a", new Scope { ID = "a", Description = "description A" }); service.Scopes.Add("b", new Scope { ID = "b", Description = "description B" }); Scope complex = new Scope() { ID = "https://example.com/test/auth123" }; service.Scopes.Add(complex.ID, complex); decorator.DecorateClass(service, decl); CheckCompile(decl, false, "Failed To Compile ScopeEnumDecorator"); }