1*57b5a4a6SAndroid Build Coastguard Worker // This file was automatically generated from polymorphism.md by Knit tool. Do not edit. 2*57b5a4a6SAndroid Build Coastguard Worker package example.test 3*57b5a4a6SAndroid Build Coastguard Worker 4*57b5a4a6SAndroid Build Coastguard Worker import org.junit.Test 5*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.knit.test.* 6*57b5a4a6SAndroid Build Coastguard Worker 7*57b5a4a6SAndroid Build Coastguard Worker class PolymorphismTest { 8*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly01null9*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly01() { 10*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly01") { example.examplePoly01.main() }.verifyOutputLines( 11*57b5a4a6SAndroid Build Coastguard Worker "{\"name\":\"kotlinx.coroutines\"}" 12*57b5a4a6SAndroid Build Coastguard Worker ) 13*57b5a4a6SAndroid Build Coastguard Worker } 14*57b5a4a6SAndroid Build Coastguard Worker 15*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly02null16*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly02() { 17*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly02") { example.examplePoly02.main() }.verifyOutputLinesStart( 18*57b5a4a6SAndroid Build Coastguard Worker "Exception in thread \"main\" kotlinx.serialization.SerializationException: Serializer for class 'OwnedProject' is not found.", 19*57b5a4a6SAndroid Build Coastguard Worker "Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied." 20*57b5a4a6SAndroid Build Coastguard Worker ) 21*57b5a4a6SAndroid Build Coastguard Worker } 22*57b5a4a6SAndroid Build Coastguard Worker 23*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly03null24*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly03() { 25*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly03") { example.examplePoly03.main() }.verifyOutputLinesStart( 26*57b5a4a6SAndroid Build Coastguard Worker "Exception in thread \"main\" kotlinx.serialization.SerializationException: Serializer for subclass 'OwnedProject' is not found in the polymorphic scope of 'Project'.", 27*57b5a4a6SAndroid Build Coastguard Worker "Check if class with serial name 'OwnedProject' exists and serializer is registered in a corresponding SerializersModule.", 28*57b5a4a6SAndroid Build Coastguard Worker "To be registered automatically, class 'OwnedProject' has to be '@Serializable', and the base class 'Project' has to be sealed and '@Serializable'." 29*57b5a4a6SAndroid Build Coastguard Worker ) 30*57b5a4a6SAndroid Build Coastguard Worker } 31*57b5a4a6SAndroid Build Coastguard Worker 32*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly04null33*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly04() { 34*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly04") { example.examplePoly04.main() }.verifyOutputLines( 35*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"example.examplePoly04.OwnedProject\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}" 36*57b5a4a6SAndroid Build Coastguard Worker ) 37*57b5a4a6SAndroid Build Coastguard Worker } 38*57b5a4a6SAndroid Build Coastguard Worker 39*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly05null40*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly05() { 41*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly05") { example.examplePoly05.main() }.verifyOutputLines( 42*57b5a4a6SAndroid Build Coastguard Worker "{\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}" 43*57b5a4a6SAndroid Build Coastguard Worker ) 44*57b5a4a6SAndroid Build Coastguard Worker } 45*57b5a4a6SAndroid Build Coastguard Worker 46*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly06null47*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly06() { 48*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly06") { example.examplePoly06.main() }.verifyOutputLines( 49*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}" 50*57b5a4a6SAndroid Build Coastguard Worker ) 51*57b5a4a6SAndroid Build Coastguard Worker } 52*57b5a4a6SAndroid Build Coastguard Worker 53*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly07null54*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly07() { 55*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly07") { example.examplePoly07.main() }.verifyOutputLines( 56*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"owned\",\"status\":\"open\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}" 57*57b5a4a6SAndroid Build Coastguard Worker ) 58*57b5a4a6SAndroid Build Coastguard Worker } 59*57b5a4a6SAndroid Build Coastguard Worker 60*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly08null61*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly08() { 62*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly08") { example.examplePoly08.main() }.verifyOutputLines( 63*57b5a4a6SAndroid Build Coastguard Worker "[{\"type\":\"example.examplePoly08.EmptyResponse\"},{\"type\":\"example.examplePoly08.TextResponse\",\"text\":\"OK\"}]" 64*57b5a4a6SAndroid Build Coastguard Worker ) 65*57b5a4a6SAndroid Build Coastguard Worker } 66*57b5a4a6SAndroid Build Coastguard Worker 67*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly09null68*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly09() { 69*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly09") { example.examplePoly09.main() }.verifyOutputLines( 70*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}" 71*57b5a4a6SAndroid Build Coastguard Worker ) 72*57b5a4a6SAndroid Build Coastguard Worker } 73*57b5a4a6SAndroid Build Coastguard Worker 74*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly10null75*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly10() { 76*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly10") { example.examplePoly10.main() }.verifyOutputLinesStart( 77*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}" 78*57b5a4a6SAndroid Build Coastguard Worker ) 79*57b5a4a6SAndroid Build Coastguard Worker } 80*57b5a4a6SAndroid Build Coastguard Worker 81*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly11null82*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly11() { 83*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly11") { example.examplePoly11.main() }.verifyOutputLines( 84*57b5a4a6SAndroid Build Coastguard Worker "{\"project\":{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}}" 85*57b5a4a6SAndroid Build Coastguard Worker ) 86*57b5a4a6SAndroid Build Coastguard Worker } 87*57b5a4a6SAndroid Build Coastguard Worker 88*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly12null89*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly12() { 90*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly12") { example.examplePoly12.main() }.verifyOutputLinesStart( 91*57b5a4a6SAndroid Build Coastguard Worker "Exception in thread \"main\" kotlinx.serialization.SerializationException: Serializer for class 'Any' is not found.", 92*57b5a4a6SAndroid Build Coastguard Worker "Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied." 93*57b5a4a6SAndroid Build Coastguard Worker ) 94*57b5a4a6SAndroid Build Coastguard Worker } 95*57b5a4a6SAndroid Build Coastguard Worker 96*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly13null97*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly13() { 98*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly13") { example.examplePoly13.main() }.verifyOutputLinesStart( 99*57b5a4a6SAndroid Build Coastguard Worker "Exception in thread \"main\" kotlinx.serialization.SerializationException: Serializer for class 'Any' is not found.", 100*57b5a4a6SAndroid Build Coastguard Worker "Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied." 101*57b5a4a6SAndroid Build Coastguard Worker ) 102*57b5a4a6SAndroid Build Coastguard Worker } 103*57b5a4a6SAndroid Build Coastguard Worker 104*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly14null105*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly14() { 106*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly14") { example.examplePoly14.main() }.verifyOutputLines( 107*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}" 108*57b5a4a6SAndroid Build Coastguard Worker ) 109*57b5a4a6SAndroid Build Coastguard Worker } 110*57b5a4a6SAndroid Build Coastguard Worker 111*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly15null112*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly15() { 113*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly15") { example.examplePoly15.main() }.verifyOutputLines( 114*57b5a4a6SAndroid Build Coastguard Worker "{\"project\":{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}}" 115*57b5a4a6SAndroid Build Coastguard Worker ) 116*57b5a4a6SAndroid Build Coastguard Worker } 117*57b5a4a6SAndroid Build Coastguard Worker 118*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly16null119*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly16() { 120*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly16") { example.examplePoly16.main() }.verifyOutputLines( 121*57b5a4a6SAndroid Build Coastguard Worker "{\"project\":{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"},\"any\":{\"type\":\"owned\",\"name\":\"kotlinx.coroutines\",\"owner\":\"kotlin\"}}" 122*57b5a4a6SAndroid Build Coastguard Worker ) 123*57b5a4a6SAndroid Build Coastguard Worker } 124*57b5a4a6SAndroid Build Coastguard Worker 125*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly17null126*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly17() { 127*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly17") { example.examplePoly17.main() }.verifyOutputLines( 128*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"OkResponse\",\"data\":{\"type\":\"OwnedProject\",\"name\":\"kotlinx.serialization\",\"owner\":\"kotlin\"}}", 129*57b5a4a6SAndroid Build Coastguard Worker "OkResponse(data=OwnedProject(name=kotlinx.serialization, owner=kotlin))" 130*57b5a4a6SAndroid Build Coastguard Worker ) 131*57b5a4a6SAndroid Build Coastguard Worker } 132*57b5a4a6SAndroid Build Coastguard Worker 133*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly18null134*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly18() { 135*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly18") { example.examplePoly18.main() }.verifyOutputLinesStart( 136*57b5a4a6SAndroid Build Coastguard Worker "Exception in thread \"main\" kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 0: Serializer for subclass 'unknown' is not found in the polymorphic scope of 'Project' at path: $", 137*57b5a4a6SAndroid Build Coastguard Worker "Check if class with serial name 'unknown' exists and serializer is registered in a corresponding SerializersModule." 138*57b5a4a6SAndroid Build Coastguard Worker ) 139*57b5a4a6SAndroid Build Coastguard Worker } 140*57b5a4a6SAndroid Build Coastguard Worker 141*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly19null142*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly19() { 143*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly19") { example.examplePoly19.main() }.verifyOutputLines( 144*57b5a4a6SAndroid Build Coastguard Worker "[BasicProject(name=example, type=unknown), OwnedProject(name=kotlinx.serialization, owner=kotlin)]" 145*57b5a4a6SAndroid Build Coastguard Worker ) 146*57b5a4a6SAndroid Build Coastguard Worker } 147*57b5a4a6SAndroid Build Coastguard Worker 148*57b5a4a6SAndroid Build Coastguard Worker @Test testExamplePoly20null149*57b5a4a6SAndroid Build Coastguard Worker fun testExamplePoly20() { 150*57b5a4a6SAndroid Build Coastguard Worker captureOutput("ExamplePoly20") { example.examplePoly20.main() }.verifyOutputLines( 151*57b5a4a6SAndroid Build Coastguard Worker "{\"type\":\"Cat\",\"catType\":\"Tabby\"}" 152*57b5a4a6SAndroid Build Coastguard Worker ) 153*57b5a4a6SAndroid Build Coastguard Worker } 154*57b5a4a6SAndroid Build Coastguard Worker } 155