@@ -23,22 +23,22 @@ class GraphvizDumperTest extends TestCase
2323
2424 public static function setUpBeforeClass (): void
2525 {
26- self ::$ fixturesPath = __DIR__ .'/../Fixtures/ ' ;
26+ self ::$ fixturesPath = realpath ( __DIR__ .'/../Fixtures ' ) ;
2727 }
2828
2929 public function testDump ()
3030 {
3131 $ dumper = new GraphvizDumper ($ container = new ContainerBuilder ());
3232
33- $ this ->assertStringEqualsFile ( self :: $ fixturesPath . ' /graphviz/ services1.dot ' , $ dumper ->dump (), '->dump() dumps an empty container as an empty dot file ' );
33+ $ this ->assertStringEqualsGeneratedFile ( ' services1.dot ' , $ dumper ->dump (), '->dump() dumps an empty container as an empty dot file ' );
3434
3535 $ container = include self ::$ fixturesPath .'/containers/container9.php ' ;
3636 $ dumper = new GraphvizDumper ($ container );
37- $ this ->assertStringEqualsFile ( self :: $ fixturesPath . ' /graphviz/ services9.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
37+ $ this ->assertStringEqualsGeneratedFile ( ' services9.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
3838
3939 $ container = include self ::$ fixturesPath .'/containers/container10.php ' ;
4040 $ dumper = new GraphvizDumper ($ container );
41- $ this ->assertStringEqualsFile ( self :: $ fixturesPath . ' /graphviz/ services10.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
41+ $ this ->assertStringEqualsGeneratedFile ( ' services10.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
4242
4343 $ container = include self ::$ fixturesPath .'/containers/container10.php ' ;
4444 $ dumper = new GraphvizDumper ($ container );
@@ -56,22 +56,22 @@ public function testDumpWithFrozenContainer()
5656 {
5757 $ container = include self ::$ fixturesPath .'/containers/container13.php ' ;
5858 $ dumper = new GraphvizDumper ($ container );
59- $ this ->assertStringEqualsFile ( self :: $ fixturesPath . ' /graphviz/ services13.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
59+ $ this ->assertStringEqualsGeneratedFile ( ' services13.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
6060 }
6161
6262 public function testDumpWithFrozenCustomClassContainer ()
6363 {
6464 $ container = include self ::$ fixturesPath .'/containers/container14.php ' ;
6565 $ dumper = new GraphvizDumper ($ container );
66- $ this ->assertStringEqualsFile ( self :: $ fixturesPath . ' /graphviz/ services14.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
66+ $ this ->assertStringEqualsGeneratedFile ( ' services14.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
6767 }
6868
6969 public function testDumpWithUnresolvedParameter ()
7070 {
7171 $ container = include self ::$ fixturesPath .'/containers/container17.php ' ;
7272 $ dumper = new GraphvizDumper ($ container );
7373
74- $ this ->assertStringEqualsFile ( self :: $ fixturesPath . ' /graphviz/ services17.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
74+ $ this ->assertStringEqualsGeneratedFile ( ' services17.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
7575 }
7676
7777 public function testDumpWithInlineDefinition ()
@@ -83,6 +83,18 @@ public function testDumpWithInlineDefinition()
8383 $ container ->register ('bar ' , 'stdClass ' );
8484 $ dumper = new GraphvizDumper ($ container );
8585
86- $ this ->assertStringEqualsFile (self ::$ fixturesPath .'/graphviz/services_inline.dot ' , $ dumper ->dump (), '->dump() dumps nested references ' );
86+ $ this ->assertStringEqualsGeneratedFile ('services_inline.dot ' , $ dumper ->dump (), '->dump() dumps nested references ' );
87+ }
88+
89+ private static function assertStringEqualsGeneratedFile (string $ expectedFile , string $ dumpedCode ): void
90+ {
91+ $ expectedFile = self ::$ fixturesPath .'/graphviz/ ' .$ expectedFile ;
92+
93+ if ($ _ENV ['TEST_GENERATE_FIXTURES ' ] ?? false ) {
94+ file_put_contents ($ expectedFile , $ dumpedCode );
95+ self ::markTestIncomplete ('TEST_GENERATE_FIXTURES is set ' );
96+ }
97+
98+ self ::assertStringEqualsFile ($ expectedFile , $ dumpedCode );
8799 }
88100}
0 commit comments