         XCTAssertEqual(firstAttributes?.frame, CGRect(x: 0, y: 100, width: 320, height: 200))
         secondAttributes = layout.layoutAttributesForItem(at: IndexPath(item: 1, section: 0))
         secondHeight = CGFloat(100.0 + (200.0 / 3.0))
-        XCTAssertEqual(secondAttributes?.frame, CGRect(x: 0, y: 300, width: 320, height: secondHeight))
+        XCTAssertEqual(secondAttributes!.frame, CGRect(x: 0, y: 300, width: 320, height: secondHeight))
         thirdAttributes = layout.layoutAttributesForItem(at: IndexPath(item: 2, section: 0))
         XCTAssertEqual(thirdAttributes?.frame, CGRect(x: 0, y: 300 + secondHeight, width: 320, height: 100))
         XCTAssertEqual(layout.collectionViewContentSize, CGSize(width: 320, height: 600))

        XCTAssertEqual(firstAttributes?.frame, CGRect(x: 0, y: 60, width: 320, height: 240))
        secondAttributes = layout.layoutAttributesForItem(at: IndexPath(item: 1, section: 0))
        secondHeight = CGFloat(100.0 + (200.0 * 60.0 / 300.0))
        XCTAssertEqual(secondAttributes?.frame, CGRect(x: 0, y: 300, width: 320, height: secondHeight))
        thirdAttributes = layout.layoutAttributesForItem(at: IndexPath(item: 2, section: 0))
        XCTAssertEqual(thirdAttributes?.frame, CGRect(x: 0, y: 300 + secondHeight, width: 320, height: 100))
        XCTAssertEqual(layout.collectionViewContentSize, CGSize(width: 320, height: 600))

        XCTAssertEqual(firstAttributes?.frame, CGRect(x: 0, y: 150, width: 320, height: 150))
        secondAttributes = layout.layoutAttributesForItem(at: IndexPath(item: 1, section: 0))
        secondHeight = CGFloat(100.0 + (200.0 / 2.0))
        XCTAssertEqual(secondAttributes!.frame, CGRect(x: 0, y: 300, width: 320, height: secondHeight))
        thirdAttributes = layout.layoutAttributesForItem(at: IndexPath(item: 2, section: 0))
        XCTAssertEqual(thirdAttributes?.frame, CGRect(x: 0, y: 300 + secondHeight, width: 320, height: 100))
        XCTAssertEqual(layout.collectionViewContentSize, CGSize(width: 320, height: 600))
