public function assertParity(): void
    {
        $ignored_classes = [];
        $object_exists = false;
        $actor_exists = false;
        $locator = new ClassFileLocator($this->folder);
        foreach ($locator as $file) {
            $filename = str_replace($this->folder . DIRECTORY_SEPARATOR, '', $file->getRealPath());
            foreach ($file->getClasses() as $class) {
                $reflector = new \ReflectionClass($class);
                $parent = $reflector->getParentClass()->getName();
                $class_name = $reflector->getShortName();
                switch($parent) {
                case "Pho\Framework\Object":
                    $object_exists = true;
                    try {
                        $this->checkEdgeDir($class_name);
                    }
                    catch(Exceptions\AbsentEdgeDirImparityException $e) {
                        throw $e;
                    }
                    break;
                case "Pho\Framework\Actor":
                    $actor_exists = true;
                    try {
                        $this->checkEdgeDir($class_name);
                    }
                    catch(Exceptions\AbsentEdgeDirImparityException $e) {
                        throw $e;
                    }
                    break;
                case "Pho\Framework\Frame":
                    try {
                        $this->checkEdgeDir($class_name);
                    }
                    catch(Exceptions\AbsentEdgeDirImparityException $e) {
                        throw $e;
                    }
                    break;
                default:
                    $ignored_classes[] = [
                        "filename" => $filename, 
                        "classname" => $class_name
                    ];
                    break;
                }
            }
        }
        if(!$object_exists) {
            throw new Exceptions\MissingObjectImparityException($this->folder);
        }
        if(!$actor_exists) {
            throw new Exceptions\MissingActorImparityException($this->folder);
        }
    }
public function assertParity(): void
    {
        $ignored_classes = [];
        $object_exists = false;
        $actor_exists = false;
        $locator = new ClassFileLocator($this->folder);
        foreach ($locator as $file) {
            $filename = str_replace($this->folder . DIRECTORY_SEPARATOR, '', $file->getRealPath());
            foreach ($file->getClasses() as $class) {
                $reflector = new \ReflectionClass($class);
                $parent = $reflector->getParentClass()->getName();
                $class_name = $reflector->getShortName();
                switch($parent) {
                case "Pho\Framework\Object":
                    $object_exists = true;
                    try {
                        $this->checkEdgeDir($class_name);
                    }
                    catch(Exceptions\AbsentEdgeDirImparityException $e) {
                        throw $e;
                    }
                    break;
                case "Pho\Framework\Actor":
                    $actor_exists = true;
                    try {
                        $this->checkEdgeDir($class_name);
                    }
                    catch(Exceptions\AbsentEdgeDirImparityException $e) {
                        throw $e;
                    }
                    break;
                case "Pho\Framework\Frame":
                    try {
                        $this->checkEdgeDir($class_name);
                    }
                    catch(Exceptions\AbsentEdgeDirImparityException $e) {
                        throw $e;
                    }
                    break;
                default:
                    $ignored_classes[] = [
                        "filename" => $filename, 
                        "classname" => $class_name
                    ];
                    break;
                }
            }
        }
        if(!$object_exists) {
            throw new Exceptions\MissingObjectImparityException($this->folder);
        }
        if(!$actor_exists) {
            throw new Exceptions\MissingActorImparityException($this->folder);
        }
    }
public function assertParity ( ) : void { $ ignored_classes = [ ] ; $ object_exists = false ; $ actor_exists = false ; $ locator = new ClassFileLocator ( $ this -> folder ) ; foreach ( $ locator as $ file ) { $ filename = str_replace ( $ this -> folder . DIRECTORY_SEPARATOR , '' , $ file -> getRealPath ( ) ) ; foreach ( $ file -> getClasses ( ) as $ class ) { $ reflector = new \ ReflectionClass ( $ class ) ; $ parent = $ reflector -> getParentClass ( ) -> getName ( ) ; $ class_name = $ reflector -> getShortName ( ) ; switch ( $ parent ) { case "Pho\Framework\Object" : $ object_exists = true ; try { $ this -> checkEdgeDir ( $ class_name ) ; } catch ( Exceptions \ AbsentEdgeDirImparityException $ e ) { throw $ e ; } break ; case "Pho\Framework\Actor" : $ actor_exists = true ; try { $ this -> checkEdgeDir ( $ class_name ) ; } catch ( Exceptions \ AbsentEdgeDirImparityException $ e ) { throw $ e ; } break ; case "Pho\Framework\Frame" : try { $ this -> checkEdgeDir ( $ class_name ) ; } catch ( Exceptions \ AbsentEdgeDirImparityException $ e ) { throw $ e ; } break ; default : $ ignored_classes [ ] = [ "filename" => $ filename , "classname" => $ class_name ] ; break ; } } } if ( ! $ object_exists ) { throw new Exceptions \ MissingObjectImparityException ( $ this -> folder ) ; } if ( ! $ actor_exists ) { throw new Exceptions \ MissingActorImparityException ( $ this -> folder ) ; } }
Validates the compiled schema directory.

@return void

@throws Exceptions\MissingObjectImparityException if there is no object node found.
@throws Exceptions\MissingActorImparityException if there is no actor node found.
@throws Exceptions\AbsentEdgeDirImparityException if the node does not have a directory for its edges.
Validates the compiled schema directory .