internal static ShimWorkItem CreateCodeReviewRequest(int id, string state, string closedStatus, List <WorkItem> responses)
        {
            var requestFields = new List <Field>()
            {
                new ShimField()
                {
                    NameGet  = () => CodeReviewPolicy.ClosedStatus,
                    ValueGet = () => closedStatus
                }
            };
            var fakeRequestFields = new ShimFieldCollection()
            {
                ItemGetString = (s) => requestFields.SingleOrDefault(f => f.Name == s)
            };

            var links = new List <WorkItemLink>();

            foreach (var response in responses)
            {
                links.Add(new ShimWorkItemLink()
                {
                    LinkTypeEndGet = () => new ShimWorkItemLinkTypeEnd()
                    {
                        NameGet = () => "Child",
                    },
                    TargetIdGet = () => response.Id
                });
            }
            var fakeLinks = new ShimWorkItemLinkCollection();

            fakeLinks.Bind(links);

            var fakeProject = new ShimProject()
            {
                StoreGet = () => new ShimWorkItemStore()
                {
                    GetWorkItemInt32 = (i) => responses.SingleOrDefault(r => r.Id == i)
                }
            };

            var reviewWorkItem = new ShimWorkItem()
            {
                TypeGet = () => new ShimWorkItemType()
                {
                    NameGet = () => "Code Review Request"
                },
                StateGet         = () => state,
                FieldsGet        = () => fakeRequestFields,
                WorkItemLinksGet = () => fakeLinks,
                ProjectGet       = () => fakeProject
            };

            return(reviewWorkItem);
        }
		internal static ShimWorkItem CreateCodeReviewRequest(int id, string state, string closedStatus, List<WorkItem> responses)
		{
			var requestFields = new List<Field>()
				{
					new ShimField()
					{ 
						NameGet = () => CodeReviewPolicy.ClosedStatus,
						ValueGet = () => closedStatus
					}
				};
			var fakeRequestFields = new ShimFieldCollection()
			{
				ItemGetString = (s) => requestFields.SingleOrDefault(f => f.Name == s)
			};

			var links = new List<WorkItemLink>();
			foreach(var response in responses)
			{
				links.Add(new ShimWorkItemLink()
					{
						LinkTypeEndGet = () => new ShimWorkItemLinkTypeEnd()
						{
							NameGet = () => "Child",
						},
						TargetIdGet = () => response.Id
					});
			}
			var fakeLinks = new ShimWorkItemLinkCollection();
			fakeLinks.Bind(links);

			var fakeProject = new ShimProject()
			{
				StoreGet = () => new ShimWorkItemStore()
				{
					GetWorkItemInt32 = (i) => responses.SingleOrDefault(r => r.Id == i)
				}
			};

			var reviewWorkItem = new ShimWorkItem()
			{
				TypeGet = () => new ShimWorkItemType()
				{
					NameGet = () => "Code Review Request"
				},
				StateGet = () => state,
				FieldsGet = () => fakeRequestFields,
				WorkItemLinksGet = () => fakeLinks,
				ProjectGet = () => fakeProject
			};

			return reviewWorkItem;
		}