public void GenerateCode_CodeGeneratorOptions_ImportXmlTypes()
		{
			codeGeneratorOptions.ImportXmlTypes = false;
			ICodeGeneratorContext codeGeneratorContext = new CodeGeneratorContext(metadataSet, codeGeneratorOptions);

			XsdDataContractImporterBuilder xsdDataContractImporterBuilder = new XsdDataContractImporterBuilder();
			IDataContractGenerator dataContractGenerator = new DataContractGenerator(xsdDataContractImporterBuilder);

			Assert.Throws<InvalidDataContractException>(() => dataContractGenerator.GenerateCode(codeGeneratorContext));

			codeGeneratorOptions.ImportXmlTypes = true;
			CodeCompileUnit codeCompileUnit = dataContractGenerator.GenerateCode(codeGeneratorContext);

			Assert.That(codeCompileUnit.Namespaces, Has.Count.EqualTo(3));
		}
Beispiel #2
0
        public void ImportXmlTypesOptionForcesAllTypesToBeImported()
        {
            codeGeneratorOptions.ImportXmlTypes = false;
            ICodeGeneratorContext codeGeneratorContext = new CodeGeneratorContext(metadataSet, codeGeneratorOptions);

            XsdDataContractImporterBuilder xsdDataContractImporterBuilder = new XsdDataContractImporterBuilder();
            IDataContractGenerator         dataContractGenerator          = new DataContractGenerator(xsdDataContractImporterBuilder);

            Assert.Throws <InvalidDataContractException>(() => dataContractGenerator.GenerateCode(codeGeneratorContext));

            codeGeneratorOptions.ImportXmlTypes = true;
            CodeCompileUnit codeCompileUnit = dataContractGenerator.GenerateCode(codeGeneratorContext);

            Assert.That(codeCompileUnit.Namespaces, Has.Count.EqualTo(3));
        }