public void ClassInheritsOneInterfaceTest() { var existingInterface = new Class { ClassId = new ClassId { Id = 1, Name = "Test1" }, Name = "Test1", Interface = true }; QueryParameters parameters = new QueryParameters(); ParentClasses parentClassesStatement = new ParentClasses(); Mock <ClassName> className = new Mock <ClassName>(); className.Setup(cn => cn.Execute(It.Is <QueryParameters>(qp => parameters.Equals(qp)))).Returns(new QueryDTO { QueryClass = existingInterface }); parentClassesStatement.Add(className.Object); QueryDTO result = parentClassesStatement.Execute(parameters); ISet <Class> parentClasses = result.Value; Assert.AreEqual(1, parentClasses.Count); Assert.IsTrue(parentClasses.Contains(existingInterface)); }
public void InterfaceInheritsOneClassAndTwoInterfacesTest() { var existingClass = new Class { ClassId = new ClassId { Id = 1, Name = "Test1" }, Name = "Test1" }; var existingInterface = new Class { ClassId = new ClassId { Id = 1, Name = "Test2" }, Name = "Test2", Interface = true }; var existingOtherInterface = new Class { ClassId = new ClassId { Id = 1, Name = "Test3" }, Name = "Test3", Interface = true }; QueryParameters parameters = new QueryParameters(); ParentClasses parentClassesStatement = new ParentClasses { InterfaceOnly = true }; Mock <ClassName> className1 = new Mock <ClassName>(); className1.Setup(cn => cn.Execute(It.Is <QueryParameters>(qp => parameters.Equals(qp)))).Returns(new QueryDTO { QueryClass = existingClass }); parentClassesStatement.Add(className1.Object); Mock <ClassName> className2 = new Mock <ClassName>(); className2.Setup(cn => cn.Execute(It.Is <QueryParameters>(qp => parameters.Equals(qp)))).Returns(new QueryDTO { QueryClass = existingInterface }); parentClassesStatement.Add(className2.Object); Mock <ClassName> className3 = new Mock <ClassName>(); className3.Setup(cn => cn.Execute(It.Is <QueryParameters>(qp => parameters.Equals(qp)))).Returns(new QueryDTO { QueryClass = existingOtherInterface }); parentClassesStatement.Add(className3.Object); QueryDTO result = parentClassesStatement.Execute(parameters); Assert.AreEqual(ResultType.StringResult, result.Result.QueryResultType); Assert.AreEqual("An interface can't inherit from a class!", result.Result.StringOutput); }
public object Get(ParentClasses request) { ApiUser hdUser = request.ApiUser; if (!request.class_id.HasValue) { return(new HttpError(HttpStatusCode.NotFound, "class not found")); } return(Models.Classes.ParentClasses(hdUser.OrganizationId, hdUser.DepartmentId, request.class_id.Value)); }
public override IQueryElement VisitParent_type([NotNull] QueryGrammarParser.Parent_typeContext context) { ParentClasses parentClasses = new ParentClasses(); foreach (var className in context.NAME()) { ClassName parentClassName = new ClassName(); parentClassName.Name = className.GetText(); parentClasses.Add(parentClassName); } return(parentClasses); }
public void ClassInheritsTwoClassTest() { var existingClass = new Class { ClassId = new ClassId { Id = 1, Name = "Test1" }, Name = "Test1" }; var otherExistingClass = new Class { ClassId = new ClassId { Id = 1, Name = "Test2" }, Name = "Test2" }; QueryParameters parameters = new QueryParameters(); ParentClasses parentClassesStatement = new ParentClasses(); Mock <ClassName> className1 = new Mock <ClassName>(); className1.Setup(cn => cn.Execute(It.Is <QueryParameters>(qp => parameters.Equals(qp)))).Returns(new QueryDTO { QueryClass = existingClass }); parentClassesStatement.Add(className1.Object); Mock <ClassName> className2 = new Mock <ClassName>(); className2.Setup(cn => cn.Execute(It.Is <QueryParameters>(qp => parameters.Equals(qp)))).Returns(new QueryDTO { QueryClass = otherExistingClass }); parentClassesStatement.Add(className2.Object); QueryDTO result = parentClassesStatement.Execute(parameters); Assert.AreEqual(ResultType.StringResult, result.Result.QueryResultType); Assert.AreEqual("A class can't inherit from more than 1 class!", result.Result.StringOutput); }
public override IQueryElement VisitInterface_declaration([NotNull] QueryGrammarParser.Interface_declarationContext context) { InterfaceDeclaration interfaceDeclaration = new InterfaceDeclaration(); interfaceDeclaration.Name = context.NAME().GetText(); if (context.parent_type() != null) { ParentClasses parentClasses = (ParentClasses)Visit(context.parent_type()); parentClasses.InterfaceOnly = true; interfaceDeclaration.Add(parentClasses); } foreach (var attribute in context.attribute_dec_stm()) { IQueryElement attributeDeclaration = Visit(attribute); interfaceDeclaration.Add(attributeDeclaration); } return(interfaceDeclaration); }