Beispiel #1
0
        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);
        }
Beispiel #2
0
        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");
        }