MachineContextTest GetContextTest(Context context) { MachineContextTest contextTest = new MachineContextTest(context); context.Specifications .Select(spec => GetSpecificationTest(context, spec)) .Each(test => contextTest.AddChild(test)); if (context.Subject != null) { contextTest.Metadata.Add(MetadataKeys.Category, context.Subject.FullConcern); } if (context.Tags != null && context.Tags.Any()) { contextTest.Metadata.Add(SpecificationMetadataKeys.Tags, context.Tags.Select(t => t.Name).ToList()); } if (context.IsIgnored) { contextTest.Metadata.Add(MetadataKeys.IgnoreReason, "The context has the IgnoreAttribute"); } AddXmlComment(contextTest, Reflector.Wrap(context.Type)); return(contextTest); }
MachineSpecificationTest GetSpecificationTest(Context context, Specification specification) { MachineSpecificationTest specificationTest = new MachineSpecificationTest(specification); if (specification.IsIgnored) { string reason = context.IsIgnored ? "The parent context has the IgnoreAttribute" : "The specification has the IgnoreAttribute"; specificationTest.Metadata.Add(MetadataKeys.IgnoreReason, reason); } AddXmlComment(specificationTest, Reflector.Wrap(specification.FieldInfo)); return(specificationTest); }
MachineContextTest GetContextTest(Context context) { MachineContextTest contextTest = new MachineContextTest(context); context.Specifications .Select( spec => GetSpecificationTest( context, spec)) .Each( test => contextTest.AddChild(test)); if (context.Subject != null) contextTest.Metadata.Add(MetadataKeys.Category, context.Subject.FullConcern); if (context.Tags != null && context.Tags.Any()) contextTest.Metadata.Add(SpecificationMetadataKeys.Tags, context.Tags.Select(t => t.Name).ToList()); if (context.IsIgnored) contextTest.Metadata.Add(MetadataKeys.IgnoreReason, "The context has the IgnoreAttribute"); AddXmlComment(contextTest, Reflector.Wrap(context.Type)); return contextTest; }
MachineSpecificationTest GetSpecificationTest(Context context, Specification specification) { MachineSpecificationTest specificationTest = new MachineSpecificationTest( specification); if (specification.IsIgnored) { string reason = context.IsIgnored ? "The parent context has the IgnoreAttribute" : "The specification has the IgnoreAttribute"; specificationTest.Metadata.Add(MetadataKeys.IgnoreReason, reason); } AddXmlComment(specificationTest, Reflector.Wrap(specification.FieldInfo)); return specificationTest; }