// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System;
using System.IO;
using System.Linq;

namespace Microsoft.DotNet.Tools.Test.Utilities
{
    public class ProjectUtils
    {
        public static string GetProjectJson(string testRoot, string project)
        {
            // We assume that the project name same as the directory name with contains the project.json
            // We can do better here by using ProjectReader to get the correct project name
            string projectPath = Directory.GetFiles(testRoot, "project.json", SearchOption.AllDirectories)
                                          .FirstOrDefault(pj => Directory.GetParent(pj).Name.Equals(project));

            if (string.IsNullOrEmpty(projectPath))
            {
                throw new Exception($"Cannot file project '{project}' in '{testRoot}'");
            }

            return projectPath;
        }
    }
}