func testStructuredTypesDecoding()

in PlaygroundLogger/PlaygroundLoggerTests/LegacyPlaygroundLoggerTests.swift [167:205]


    func testStructuredTypesDecoding() {
        struct S {}
        class C {}
        
        let s_logdata = legacyLog(instance: S(), name: "s", id: 0, startLine: 0, endLine: 0, startColumn: 0, endColumn: 0) as! NSData
        let c_logdata = legacyLog(instance: C(), name: "c", id: 0, startLine: 0, endLine: 0, startColumn: 0, endColumn: 0) as! NSData
        let t_logdata = legacyLog(instance: (1, 1), name: "t", id: 0, startLine: 0, endLine: 0, startColumn: 0, endColumn: 0) as! NSData
        
        guard let s_decoded = legacyLogDecode(s_logdata) else {
            XCTFail("Failed to decode log data")
            return
        }
        guard let c_decoded = legacyLogDecode(c_logdata) else {
            XCTFail("Failed to decode log data")
            return
        }
        guard let t_decoded = legacyLogDecode(t_logdata) else {
            XCTFail("Failed to decode log data")
            return
        }
        
        guard let s = s_decoded.object as? PlaygroundDecodedObject_Structured else {
            XCTFail("Decoded object is not structured")
            return
        }
        guard let c = c_decoded.object as? PlaygroundDecodedObject_Structured else {
            XCTFail("Decoded object is not structured")
            return
        }
        guard let t = t_decoded.object as? PlaygroundDecodedObject_Structured else {
            XCTFail("Decoded object is not structured")
            return
        }

        
        XCTAssertEqual(s.type, PlaygroundRepresentation.Struct.description)
        XCTAssertEqual(c.type, PlaygroundRepresentation.Class.description)
        XCTAssertEqual(t.type, PlaygroundRepresentation.Tuple.description)
    }