44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace NoccyLabs\Ipc\Interop\Channel;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class MultiStreamChannelTest extends \PhpUnit\Framework\TestCase
 | 
						|
{
 | 
						|
 | 
						|
    public function testCreatingMultipleClients()
 | 
						|
    {
 | 
						|
        $master = new MultiStreamChannel();
 | 
						|
 | 
						|
        $client1 = $master->createClient();
 | 
						|
        $client2 = $master->createClient();
 | 
						|
        $client3 = $master->createClient();
 | 
						|
 | 
						|
        $master->send("Hello World");
 | 
						|
 | 
						|
        $this->assertEquals("Hello World", $client1->receive());
 | 
						|
        $this->assertEquals("Hello World", $client2->receive());
 | 
						|
        $this->assertEquals("Hello World", $client3->receive());
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public function testReadingFromMultipleClients()
 | 
						|
    {
 | 
						|
        $master = new MultiStreamChannel();
 | 
						|
 | 
						|
        $client1 = $master->createClient();
 | 
						|
        $client2 = $master->createClient();
 | 
						|
        $client3 = $master->createClient();
 | 
						|
 | 
						|
        $client1->send("a");
 | 
						|
        $client2->send("b");
 | 
						|
        $client3->send("c");
 | 
						|
 | 
						|
        $this->assertEquals("a", $master->receive());
 | 
						|
        $this->assertEquals("b", $master->receive());
 | 
						|
        $this->assertEquals("c", $master->receive());
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
} |