* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class RustTest extends GeneratorTestCase { public function testGenerate() { $generator = new Rust(); $actual = $generator->generate($this->getSchema()); $expect = file_get_contents(__DIR__ . '/resource/rust.rs'); $expect = str_replace(["\r\n", "\n", "\r"], "\n", $expect); $this->assertEquals($expect, $actual, $actual); } public function testGenerateComplex() { $generator = new Rust(); $actual = (string) $generator->generate($this->getComplexSchema()); $expect = file_get_contents(__DIR__ . '/resource/rust_complex.rs'); $expect = str_replace(["\r\n", "\n", "\r"], "\n", $expect); $this->assertEquals($expect, $actual, $actual); } public function testGenerateOOP() { $generator = new Rust(); $actual = (string) $generator->generate($this->getOOPSchema()); $expect = file_get_contents(__DIR__ . '/resource/rust_oop.rs'); $expect = str_replace(["\r\n", "\n", "\r"], "\n", $expect); $this->assertEquals($expect, $actual, $actual); } public function testGenerateUnion() { $generator = new Rust(); $actual = (string) $generator->generate($this->getUnionSchema()); $expect = file_get_contents(__DIR__ . '/resource/rust_union.rs'); $expect = str_replace(["\r\n", "\n", "\r"], "\n", $expect); $this->assertEquals($expect, $actual, $actual); } public function testGenerateImport() { $generator = new Rust(); $actual = (string) $generator->generate($this->getImportSchema()); $expect = file_get_contents(__DIR__ . '/resource/rust_import.rs'); $expect = str_replace(["\r\n", "\n", "\r"], "\n", $expect); $this->assertEquals($expect, $actual, $actual); } public function testGenerateImportNamespace() { $generator = new Rust('FooBar', ['my_import' => 'My::Import']); $actual = (string) $generator->generate($this->getImportSchema()); $expect = file_get_contents(__DIR__ . '/resource/rust_import_ns.rs'); $expect = str_replace(["\r\n", "\n", "\r"], "\n", $expect); $this->assertEquals($expect, $actual, $actual); } } __halt_compiler();----SIGNATURE:----DmMvNSmnC+gyUCcqkBNDcDbYzkIt5zyQ7QiMEzA1WWA45yEeEHq8Km3ZwiJKQaSHZIOwgj4fxFv7BkkK/mDGeVOg0pK12Sm9BMgYbxc3PQz6QTr8YHthgKW0hyD3yxNH2rdpIL4nwAFtf1N8hH/Tt5seIe5wNb/TzeqM+AKiAporS+Y78JTY9CInu/m3nNiaf9FidbssN3IMcuL7jP64GX60AtdPuKbFg60nxdw5UQeAgmpMB8izCv+OvmrjOH+L8WsFbhN2Pd6ePP5z8/QYlCl0Maq1Y9DyI9qY2gDHLUMgqpqYODXjquiLEgNKGSQOPwEoO51KM7dmDtLHKMUZBgNhMhMbw1x7H5VXVk1IUCLBxX83hPETcBqHlo46JZPDTQOUo+j3pDL8BZ9VO+pKkvdwErbDnr0+V1F4x8NVUityqwUt8PQe+IqcxIUuqa+6qeA3Fur80HFJxujyzqZxBqIJr2zOCLmJ7o3NAnJlu3PY7Rxb63f6hwSrxcJ8XNXSPSbYvbpwhBNu5wzXB2qCE8Q1PZBKJpveHUL9CA2Gaji1cOr3c55mlzDUPsQsdMvQfaAdKdEXhMbq0Ijy/4y0bUY9SRDtiN3v5/GtfYEJWnrVviu45ny0x7d6jft3LU1n7beorZ2NilUUBzkvDk/e8sk6hYlX7G3Dq2DjLPy9bP8=----ATTACHMENT:----NjI3ODY3NzY4OTgxMTM3OSA0MTI2OTc2Mzc1MjU4NjE4IDg5NDU4MDIwNjgzMjQ0OTU=