* @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:----FRHVhDoqzAbCqq13iTtzYtgMs7PIA7P+0zmfmf3qPAd5SB/6vk4Ax3ZOQp/pRrGTKACtcgfQmnbTfcomQnrC+i1AkGigvKkuKPSXZg4fEoAeXNlqh4hQ4HFoi/YJeY51uhw4qMR4sr3s3WmgShISPVJ/2G32ojV+4QM5riaxfroA3GP1ciEJMSNxzO8NbOEMHb/t1Zkq3fDbXcQVdyfSak0EGKvKfkMEr8TmMnvcnPS1+o52ve5wh6nTTpgjrzbi2IbeMZ+mV9MGC40YGE+9oYm4/wgbl9WjUGrxFdFdZjIiACVc2Y/zPA+08weTYZTS9uWO3Xj8FVHknJ0hV6gh7d+oX6SML23A9TVJykQ2DjsqR+X+xlNeuYXcDuBNlZkRrhBZHNZQIRSVRTulJ7AVCrXN3oNonvZu3NjJqa/5s3ISWDbBXxi8g3bRtuk8WbMUaMhZ13GHqfcEpjfFyW9U6cjGVT+l06Zul34kj3WklXRcL2bLBeH9vtlnE5UdNE0bicCGsHEhM6H1vRcNSQCMXw8aUtLqmObud7tWa6zFyaprGIu+9Lkpee9/vG65orBwdFQuQnovIOvKU3btbF7Ufgo1RCr6i9Y9EPCwiXkzn9JH99I7X34QSws2Ks4tBxeL2nRPpfmsTf1v6yTZjUL/Mc1ZqBko11z2m0M47+BbfwI=----ATTACHMENT:----MjEwODA4MDQ4NDMwMzc2NCAxMjQ5MzU4MjAwNDEyOTg5IDQzNDEzNzA3NTIwMTE5NTQ=