assertEquals(0, count($group)); $group->add(new WebSocketConnection(new ServerRequest('GET','/'),new ThroughStream(), new ThroughStream(), $groupManager)); $this->assertEquals(1, count($group)); $group->add(new WebSocketConnection(new ServerRequest('GET','/'),new ThroughStream(), new ThroughStream(), $groupManager)); $this->assertEquals(2, count($group)); $group->add(new WebSocketConnection(new ServerRequest('GET','/'),new ThroughStream(), new ThroughStream(), $groupManager)); $this->assertEquals(3, count($group)); } public function testThatGroupNamesAreAssignedUniquely() { $group = new ConnectionGroup(); $this->assertNotEmpty($group->getName()); $group2 = new ConnectionGroup(); $this->assertNotEmpty($group2->getName()); $this->assertNotEquals($group->getName(), $group2->getName()); } public function testWritingToAll() { $groupManager = new GroupManager(); $r = []; $group = new ConnectionGroup(); $group->add(new WebSocketConnection(new ServerRequest('GET','/'),new ThroughStream(), new ThroughStream(function ($data) use (&$r) { $r[]=$data; }), $groupManager)); $group->add(new WebSocketConnection(new ServerRequest('GET','/'),new ThroughStream(), new ThroughStream(function ($data) use (&$r) { $r[]=$data; }), $groupManager)); $group->add(new WebSocketConnection(new ServerRequest('GET','/'),new ThroughStream(), new ThroughStream(function ($data) use (&$r) { $r[]=$data; }), $groupManager)); $group->writeAll("test"); $this->assertEquals(3, count($r)); } }