示例#1
0
        public TestAssemblyElements GetTestAssembly(int id)
        {
            if (id < 1)
            {
                throw new ArgumentException($"{nameof(id)} must be greater than 1.", nameof(id));
            }

            var assemblyInfo = _context.TestAssemblyInfo.FirstOrDefault(i => i.Id == id);

            if (assemblyInfo == null || assemblyInfo.IsSoftDeleted)
            {
                throw new AssemblyNotFoundException();
            }

            var classesElements = new List <TestClassElements>();
            var classesInfo     = _context.TestClassInfo
                                  .Select(_ => new { _.AssemblyInfoId, _.Name, _.TestMethods }).ToArray();

            foreach (var classInfo in classesInfo)
            {
                if (classInfo.AssemblyInfoId == assemblyInfo.Id)
                {
                    var classElements = new TestClassElements
                    {
                        Name         = classInfo.Name,
                        MethodsNames = classInfo.TestMethods.Select(_ => _.Name).ToArray()
                    };

                    classesElements.Add(classElements);
                }
            }

            var result = new TestAssemblyElements
            {
                AssemblyName        = assemblyInfo.AssemblyName,
                TestClassesElements = classesElements
            };

            return(result);
        }
示例#2
0
        public IEnumerable <TestAssemblyElements> GetTestAssembliesElements()
        {
            var result = new List <TestAssemblyElements>();

            var assembliesInfo = _context.TestAssemblyInfo
                                 .Where(a => a.IsSoftDeleted == false)
                                 .Select(_ => new { _.AssemblyName, _.Id }).ToArray();

            foreach (var assemblyInfo in assembliesInfo)
            {
                var classesElements = new List <TestClassElements>();
                var classesInfo     = _context.TestClassInfo
                                      .Select(_ => new { _.AssemblyInfoId, _.Name, _.TestMethods }).ToArray();

                foreach (var classInfo in classesInfo)
                {
                    if (classInfo.AssemblyInfoId == assemblyInfo.Id)
                    {
                        var classElements = new TestClassElements
                        {
                            Name         = classInfo.Name,
                            MethodsNames = classInfo.TestMethods.Select(_ => _.Name).ToArray()
                        };

                        classesElements.Add(classElements);
                    }
                }

                var assemblyElements = new TestAssemblyElements
                {
                    AssemblyName        = assemblyInfo.AssemblyName,
                    TestClassesElements = classesElements
                };

                result.Add(assemblyElements);
            }

            return(result);
        }