1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Data.Entity.Edm.Serialization
{
using System.Data.Entity.Core.Metadata.Edm;
using System.Text;
using System.Xml;
using Xunit;
public class EdmXmlSchemaWriterTests
{
[Fact]
public void WriteFunctionElementHeader_should_write_element_and_attributes()
{
var fixture = new Fixture();
var function = new EdmFunction(
"Foo",
"Bar",
DataSpace.SSpace,
new EdmFunctionPayload
{
Schema = "dbo"
});
fixture.Writer.WriteFunctionElementHeader(function);
Assert.Equal(
"<Function Name=\"Foo\" Aggregate=\"false\" BuiltIn=\"false\" NiladicFunction=\"false\" IsComposable=\"true\" ParameterTypeSemantics=\"AllowImplicitConversion\" Schema=\"dbo\"",
fixture.ToString());
}
[Fact]
public void WriteFunctionParameterHeader_should_write_element_and_attributes()
{
var fixture = new Fixture();
var functionParameter
= new FunctionParameter(
"Foo",
TypeUsage.Create(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)),
ParameterMode.In);
fixture.Writer.WriteFunctionParameterHeader(functionParameter);
Assert.Equal(
"<Parameter Name=\"Foo\" Type=\"String\" Mode=\"In\"",
fixture.ToString());
}
private class Fixture
{
public readonly EdmXmlSchemaWriter Writer;
private readonly StringBuilder _stringBuilder;
private readonly XmlWriter _xmlWriter;
public Fixture()
{
_stringBuilder = new StringBuilder();
_xmlWriter = XmlWriter.Create(
_stringBuilder,
new XmlWriterSettings
{
OmitXmlDeclaration = true
});
Writer = new EdmXmlSchemaWriter(_xmlWriter, 3.0, false);
}
public override string ToString()
{
_xmlWriter.Flush();
return _stringBuilder.ToString();
}
}
}
}
|