Example #1
0
        public void TestNotSupported(string testCode, string message)
        {
            Project proj = CreateProjectFromSourceCodes(Codes.BitDtoRules, testCode);

            DtoRules productDtoRules = new DefaultProjectDtoRulesProvider().GetProjectAllDtoRules(proj).Single();

            try
            {
                new DefaultDtoRulesValidator().Validate(productDtoRules);
                Assert.Fail();
            }
            catch (NotSupportedException ex)
            {
                if (ex.Message != message)
                {
                    Assert.Fail();
                }
            }
        }
        public void TSDtoRulesGeneratorShouldFindDtoRules()
        {
            string  testCode = @"

    using Foundation.Api.DtoRules;

    namespace Test.Model.Dto
    {
        public class ProductDto : Foundation.Model.Dto.IDto
        {
            public virtual int Id { get; set; }
        }

        public class CategoryDto : Foundation.Model.Dto.IDto
        {
            public virtual int Id { get; set; }
        }

        public class CustomerDto : Foundation.Model.Dto.IDto
        {
            public virtual int Id { get; set; }
        }
    }

    namespace Test.Api.DtoRules
    {
        [AutoGenerate]
        public class ProductDtoRules : DtoRules<Model.Dto.ProductDto>
        {

        }

        [Foundation.Api.DtoRules.AutoGenerate]
        public class CategoryDtoRules : Foundation.Api.DtoRules.DtoRules<Model.Dto.CategoryDto>
        {

        }

        public class CustomerDtoRules : DtoRules<Model.Dto.CustomerDto>
        {

        }

        public class XDtoRules
        {

        }

        public class Fake
        {

        }
    }

";
            Project proj     = CreateProjectFromSourceCodes(Codes.BitDtoRules, testCode);

            IList <DtoRules> allDtoRules = new DefaultProjectDtoRulesProvider().GetProjectAllDtoRules(proj);

            Assert.AreEqual(2, allDtoRules.Count);
            Assert.AreEqual("ProductDtoRules", allDtoRules.ElementAt(0).Name);
            Assert.AreEqual("CategoryDtoRules", allDtoRules.ElementAt(1).Name);
            Assert.AreEqual("ProductDto", allDtoRules.ElementAt(0).DtoSymbol.Name);
            Assert.AreEqual("CategoryDto", allDtoRules.ElementAt(1).DtoSymbol.Name);
            Assert.AreEqual("ProductDtoRules", allDtoRules.ElementAt(0).DtoRulesSymbol.Name);
            Assert.AreEqual("CategoryDtoRules", allDtoRules.ElementAt(1).DtoRulesSymbol.Name);
        }