         openSuperHeroesViewController()
 
         tester().waitForAbsenceOfViewWithAccessibilityLabel("¯\\_(ツ)_/¯")
+    }
+
+    func testDoNotShowLoadingViewIfThereAreSomeSuperHeroes() {
+        givenThereAreSomeSuperHeroes()
+
+        openSuperHeroesViewController()
+
+        tester().waitForAbsenceOfViewWithAccessibilityLabel("LoadingView")
+    }
+
+    func testShowsTheExactNumberOfSuperHeroes() {
+        let superHeroes = givenThereAreSomeSuperHeroes()
+
+        openSuperHeroesViewController()
+
+        let tableView = tester().waitForViewWithAccessibilityLabel("SuperHeroesTableView") as! UITableView
+        expect(tableView.numberOfRowsInSection(0)).to(equal(superHeroes.count))
     }
 
     private func givenThereAreSomeAvengers() -> [SuperHero] {

        givenThereAreNoSuperHeroes()

        openSuperHeroesViewController()
        let emptyCaseText = tester().waitForViewWithAccessibilityLabel("¯\\_(ツ)_/¯")
            as! UILabel

        expect(emptyCaseText.hidden).to(beFalse())
        expect(emptyCaseText.text).to(equal("¯\\_(ツ)_/¯"))
    }

    func testShowsSuperHeroNamesIfThereAreSuperHeroes() {
        let superHeroes = givenThereAreSomeSuperHeroes()
        openSuperHeroesViewController()

        for i in 0..<superHeroes.count {


    func testDoNotShowAvengersBadgeIfSuperHeroesAreNotPartOfTheAvengersTeam() {
        let superHeroes = givenThereAreSomeSuperHeroes()

        openSuperHeroesViewController()

        for i in 0..<superHeroes.count {
