Пример #1
0
        public void GenerateXml_WithAttributesWithParameters()
        {
            _remotionReflector.Stub(r => r.IsInfrastructureType(typeof(BookAttribute))).Return(false);

            // ClassWithBookAttribute has the following attribute: [Book (1, Title = "C# in depth")]
            var reportGenerator = new AttributeReferenceReportGenerator(typeof(ClassWithBookAttribute), _identifierGenerator, _remotionReflector);

            var output = reportGenerator.GenerateXml();

            var expectedOutput = new XElement(
                "HasAttributes",
                new XElement(
                    "HasAttribute",
                    new XAttribute("ref", "0"),
                    new XElement(
                        "Argument",
                        new XAttribute("kind", "constructor"),
                        new XAttribute("type", "Int32"),
                        new XAttribute("name", "id"),
                        new XAttribute("value", 1337)),
                    new XElement(
                        "Argument",
                        new XAttribute("kind", "named"),
                        new XAttribute("type", "String"),
                        new XAttribute("name", "Title"),
                        new XAttribute("value", "C# in depth"))
                    ));

            Assert.That(output.ToString(), Is.EqualTo(expectedOutput.ToString()));
        }
Пример #2
0
        public void GenerateXml_WithAttributesWithFieldParameter()
        {
            _remotionReflector.Stub(r => r.IsInfrastructureType(typeof(FieldParamAttribute))).Return(false);

            // ClassWithAttributeFieldParam has the following attribute: [FieldParam(new[] { "AttributeParam1", "AttributeParam2"})]
            var reportGenerator = new AttributeReferenceReportGenerator(typeof(ClassWithAttributeFieldParam), _identifierGenerator, _remotionReflector);

            var output = reportGenerator.GenerateXml();

            var expectedOutput = new XElement(
                "HasAttributes",
                new XElement(
                    "HasAttribute",
                    new XAttribute("ref", "0"),
                    new XElement(
                        "Argument",
                        new XAttribute("kind", "constructor"),
                        new XAttribute("type", "String[]"),
                        new XAttribute("name", "stringArray"),
                        new XAttribute("value", "{AttributeParam1, AttributeParam2}")
                        )
                    )
                );

            Assert.That(output.ToString(), Is.EqualTo(expectedOutput.ToString()));
        }
Пример #3
0
        public void GenerateXml_ZeroAttributes()
        {
            var reportGenerator = new AttributeReferenceReportGenerator(typeof(UselessObject), _identifierGenerator, _remotionReflector);
            var output          = reportGenerator.GenerateXml();

            var expectedOutput = new XElement("HasAttributes");

            Assert.That(output.ToString(), Is.EqualTo(expectedOutput.ToString()));
        }
Пример #4
0
        public void GenerateXml_WithAttributes()
        {
            _remotionReflector.Stub(r => r.IsInfrastructureType(typeof(SerializableAttribute))).Return(false);

            // Mixin2 has SerializableAttribute which has no parameters
            var reportGenerator = new AttributeReferenceReportGenerator(typeof(Mixin2), _identifierGenerator, _remotionReflector);
            var output          = reportGenerator.GenerateXml();

            var expectedOutput = new XElement(
                "HasAttributes",
                new XElement("HasAttribute", new XAttribute("ref", "0"))
                );

            Assert.That(output.ToString(), Is.EqualTo(expectedOutput.ToString()));
        }