예제 #1
0
        public void DataTypeNamesShouldBePascalCase()
        {
            CogsDtoModel dto = new CogsDtoModel();

            Dto.ItemType item = new Dto.ItemType()
            {
                Name = "myNonPascalCaseItem"
            };
            dto.ItemTypes.Add(item);

            var errors = DtoValidation.CheckDataTypeNamesShouldBePascalCase(dto);

            Assert.NotEqual(0, errors.Count);
        }
예제 #2
0
        public void DataTypeNamesShouldNotConflictWithBuiltins()
        {
            CogsDtoModel dto = new CogsDtoModel();

            Dto.ItemType item = new Dto.ItemType()
            {
                Name = "String"
            };
            dto.ItemTypes.Add(item);

            var errors = DtoValidation.CheckDataTypeNamesShouldNotConflictWithBuiltins(dto);

            Assert.NotEqual(0, errors.Count);
        }
예제 #3
0
        public void PropertyNamesShouldBePascalCase()
        {
            CogsDtoModel dto = new CogsDtoModel();

            Dto.ItemType item = new Dto.ItemType()
            {
                Name = "TestItem1"
            };
            dto.ItemTypes.Add(item);

            Dto.Property property = new Dto.Property()
            {
                Name = "myProp",
            };
            item.Properties.Add(property);

            var errors = DtoValidation.CheckPropertyNamesShouldBePascalCase(dto);

            Assert.NotEqual(0, errors.Count);
        }
예제 #4
0
        public void DataTypesMustBeDefined()
        {
            CogsDtoModel dto = new CogsDtoModel();

            Dto.ItemType item = new Dto.ItemType()
            {
                Name = "TestItem1"
            };
            dto.ItemTypes.Add(item);

            Dto.Property property = new Dto.Property()
            {
                Name           = "MyProp",
                DataType       = "Unknown",
                MinCardinality = "0",
                MaxCardinality = "n"
            };
            item.Properties.Add(property);

            var errors = DtoValidation.CheckDataTypesMustBeDefined(dto);

            Assert.NotEqual(0, errors.Count);
        }
예제 #5
0
        public void DuplicatePropertiesInSameDatatypeTest()
        {
            CogsDtoModel dto = new CogsDtoModel();

            Dto.ItemType item = new Dto.ItemType()
            {
                Name = "TestItem"
            };
            Dto.Property property = new Dto.Property()
            {
                Name           = "Duplicate",
                DataType       = "string",
                MinCardinality = "0",
                MaxCardinality = "n"
            };
            item.Properties.Add(property);
            item.Properties.Add(property);
            dto.ItemTypes.Add(item);

            var errors = DtoValidation.CheckDuplicatePropertiesInSameItem(dto);

            Assert.NotEqual(0, errors.Count);
        }
예제 #6
0
        public void DataTypeNamesShouldMatchCase()
        {
            CogsDtoModel dto = new CogsDtoModel();

            Dto.ItemType item = new Dto.ItemType()
            {
                Name = "TestItem1"
            };
            dto.ItemTypes.Add(item);

            Dto.Property property = new Dto.Property()
            {
                Name           = "MyProp",
                DataType       = "StrinG",
                MinCardinality = "0",
                MaxCardinality = "n"
            };
            item.Properties.Add(property);

            var errors = DtoValidation.CheckDataTypeNamesShouldMatchCase(dto);

            Assert.NotEqual(0, errors.Count);
        }
예제 #7
0
        public void ReusedPropertyNamesShouldHaveSameDatatype()
        {
            CogsDtoModel dto = new CogsDtoModel();

            Dto.ItemType item = new Dto.ItemType()
            {
                Name = "TestItem1"
            };
            Dto.ItemType item2 = new Dto.ItemType()
            {
                Name = "TestItem2"
            };
            dto.ItemTypes.Add(item);
            dto.ItemTypes.Add(item2);

            Dto.Property property = new Dto.Property()
            {
                Name           = "Duplicate",
                DataType       = "string",
                MinCardinality = "0",
                MaxCardinality = "n"
            };
            Dto.Property property2 = new Dto.Property()
            {
                Name           = "Duplicate",
                DataType       = "bool",
                MinCardinality = "0",
                MaxCardinality = "n"
            };
            item.Properties.Add(property);
            item2.Properties.Add(property2);


            var errors = DtoValidation.CheckReusedPropertyNamesShouldHaveSameDatatype(dto);

            Assert.NotEqual(0, errors.Count);
        }