public void TransformBatchContentWithEnvironmentTagAndPartition() { var setup = Given( input => input .Message(EnvelopeFactory.Create <Envelope>().AsStream()) .Message(MessageBodyFactory.Create <Batch.Content>(MessageBody.Samples.LoadString("Message.BatchContentWithEnvironmentTagAndPartition.xml")).AsStream())) .Transform .OutputsXml( output => output .ConformingTo <Envelope>() .ConformingTo <Batch.Release>() .WithStrictConformanceLevel()); var result = setup.Validate(); result.NamespaceManager.AddNamespace("env", SchemaMetadata.For <Envelope>().TargetNamespace); result.NamespaceManager.AddNamespace("tns", SchemaMetadata.For <Batch.Release>().TargetNamespace); result.SelectSingleNode("/*") !.LocalName.Should().Be("Envelope"); result.Select("/env:Envelope/tns:ReleaseBatch").Cast <object>().Should().HaveCount(3); result.Select("/env:Envelope/*").Cast <object>().Should().HaveCount(3); var part = result.SelectSingleNode("/env:Envelope/tns:ReleaseBatch[3]"); part !.SelectSingleNode("tns:EnvelopeSpecName") !.Value.Should().Be(SchemaMetadata.For <Batch.Release>().DocumentSpec.DocSpecName); part !.SelectSingleNode("tns:EnvironmentTag") !.Value.Should().Be("graffiti"); part !.SelectSingleNode("tns:Partition") !.Value.Should().Be("A"); }