public static function get_instance()
 {
     if (is_null(self::$instance)) {
         self::$instance = new self();
     }
     return self::$instance;
 }
 /**
  * Test the "can_view_certificate" method.
  */
 public function testCanViewCertificate()
 {
     global $current_user;
     // Create student.
     $student1_id = wp_insert_user(array('user_login' => 'student1', 'user_pass' => '123456', 'role' => 'student'));
     // Create entry.
     $entry = Edr_Crt_Test::get_instance()->addEntry(array('user_id' => $student1_id, 'course_id' => 1, 'entry_status' => 'complete'));
     // Create certificate.
     $edr_crt = Edr_Manager::get('edr_crt');
     $certificate_id = $edr_crt->create_certificate($entry);
     $certificate = get_post($certificate_id);
     // Guest user.
     $this->assertEquals(0, get_current_user_id());
     $this->assertFalse($edr_crt->can_view_certificate($certificate));
     // Student 1.
     $current_user = new WP_User($student1_id);
     $this->assertEquals($student1_id, get_current_user_id());
     $this->assertTrue($edr_crt->can_view_certificate($certificate));
     // Administrator.
     $current_user = new WP_User(1);
     $this->assertEquals(1, get_current_user_id());
     $this->assertTrue($edr_crt->can_view_certificate($certificate));
 }