         
         XCTAssertEqual(testMilestone, correctMilestone)
     }
+    
+    
+    func test_GitHubTeam_decode() throws {
+        guard let data = GitHubTeamJSON.data(using: .utf8) else {
+                XCTFail("Could not generate data")
+                return
+        }
+        
+        let correctTeam = GitHubTeam(id: 1, name: "Justice League")
+        
+        let testTeam = try decoder.decode(GitHubTeam.self, from: data)
+        
+        XCTAssertEqual(testTeam, correctTeam)
+    }
+    
+    func test_GitHubMergeRef_decode() throws {
+        
+        guard let data = GitHubPRJSON.data(using: .utf8) else {
+            XCTFail("Could not generate data")
+            return
+        }
+        
+        let user = GitHubUser(id: 1, login: "octocat", userType: .user)
+        let repo = GitHubRepo(id: 1296269,
+                                     name: "Hello-World",
+                                     fullName: "octocat/Hello-World",
+                                     owner: user,
+                                     isPrivate: false,
+                                     description: "This your first repo!",
+                                     isFork: true,
+                                     htmlURL: "https://github.com/octocat/Hello-World")
+        
+        let correctMergeRef = GitHubMergeRef(label: "new-topic",
+                                             ref: "new-topic1",
+                                             sha: "6dcb09b5b57875f334f61aebed695e2e4193db5e",
+                                             user: user,
+                                             repo: repo)
+        
+        let testPR = try decoder.decode(GitHubPR.self, from: data)
+            
+        XCTAssertEqual(testPR.head, correctMergeRef)
+    }
+    
+    func test_GitHubRepo_decode() throws {
+        
+        guard let data = GitHubRepoJSON.data(using: .utf8) else {
+            XCTFail("Could not generate data")
+            return
+        }
+        
+        let user = GitHubUser(id: 1, login: "octocat", userType: .user)
+        let correctRepo = GitHubRepo(id: 1296269,
+                              name: "Hello-World",
+                              fullName: "octocat/Hello-World",
+                              owner: user,
+                              isPrivate: false,
+                              description: "This your first repo!",
+                              isFork: false,
+                              htmlURL: "https://github.com/octocat/Hello-World")
+        
+        let testRepo = try decoder.decode(GitHubRepo.self, from: data)
+        
+        XCTAssertEqual(testRepo, correctRepo)
+    }
+    
+    func test_GitHubReview_decode() throws {}
+    
+    func test_GitHubCommit_decode() throws {}
+    
+    func test_GitHubIssueLabel_decode() throws {}
+    
+    func test_GitHubIssue_decode() throws {}
+    
+    func test_GitHubPR_decode() throws {}
+    
+    func test_GitHub_decode() throws {}
 }

            let updatedAt = dateFormatter.date(from: "2018-02-27T06:23:58Z"),
            let closedAt = dateFormatter.date(from: "2018-03-20T09:46:21Z"),
            let dueOn = dateFormatter.date(from: "2018-03-27T07:10:01Z") else {
                XCTFail("Cannot generate data")
                return
        }
        

        ("test_GitHubUser_decode", test_GitHubUser_decode),
        ("test_GitHubMilestone_decodeWithSomeParameters", test_GitHubMilestone_decodeWithSomeParameters),
        ("test_GitHubMilestone_decodeWithAllParameters", test_GitHubMilestone_decodeWithAllParameters),
        ("test_GitHubTeam_decode", test_GitHubTeam_decode),
        ("test_GitHubMergeRef_decode", test_GitHubMergeRef_decode),
        ("test_GitHubRepo_decode", test_GitHubRepo_decode),
        ("test_GitHubReview_decode", test_GitHubReview_decode),
        ("test_GitHubCommit_decode", test_GitHubCommit_decode),
        ("test_GitHubIssueLabel_decode", test_GitHubIssueLabel_decode),
        ("test_GitHubIssue_decode", test_GitHubIssue_decode),
        ("test_GitHubPR_decode", test_GitHubPR_decode),
        ("test_GitHub_decode", test_GitHub_decode)
    ]

    private let dateFormatter = DateFormatter.defaultDateFormatter
