public bool foo()
 {
     if (Dependecy.FindWindow("bla", "bla") == null)
     {
         throw new Exception();
     }
     return(true);
 }
Ejemplo n.º 2
0
 public TestImplementationWithDepenedncy(Dependecy dependecy)
 {
 }
Ejemplo n.º 3
0
 public TestImplementationWithMultipleCtor(Dependecy dependecy)
 {
 }
Ejemplo n.º 4
0
    public bool IsInputValidCheckDependencies()
    {
        var toInstall         = GetPackagesInfoToInstall();
        var toCheckDependcies = GetPackagesInfoDepedencies();

        if (toInstall == null || toCheckDependcies == null)
        {
            return(true);
        }

        List <Dependecy> dep = new List <Dependecy>();

        foreach (var installPackage in toInstall.Packages)
        {
            foreach (var dependPackage in toCheckDependcies.Packages)
            {
                if (installPackage.PackagedName
                    == dependPackage.PackagedName &&
                    installPackage.Version
                    == dependPackage.Version)
                {
                    //there is Dependecy
                    Dependecy d1 = new Dependecy();
                    d1.Name    = installPackage.PackagedName;
                    d1.Version = installPackage.Version;
                    dep.Add(d1);

                    foreach (var de in dependPackage.Dependencies)
                    {
                        foreach (var anotherdependPackage in
                                 toCheckDependcies.Packages)
                        {
                            if (de.PackagedName
                                == anotherdependPackage.PackagedName && de.Version
                                == anotherdependPackage.Version)
                            {
                                if (installPackage.Version != de.Version)
                                {
                                    // there is Dependecy BUT...

                                    Dependecy d2 = new Dependecy();
                                    d2.Name    = de.PackagedName;
                                    d2.Version = de.Version;
                                    bool checkCircular = false;

                                    foreach (var anothercheck in
                                             anotherdependPackage.Dependencies)
                                    {
                                        foreach (var d in dep)
                                        {
                                            if (anothercheck.PackagedName == d.Name)
                                            {
                                                checkCircular = true;
                                            }
                                        }
                                    }

                                    if (checkCircular == false)
                                    {
                                        //there is real Dependecy without CircularReference
                                        dep.Add(d2);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (dep.Count >= 2)
            {
                return(false);
            }
        }

        return(true);
    }