public function testWhereTuple()
 {
     $b = new WhereBuilder();
     $b->root('Article');
     $b->whereTuple(['authorId', 'blogId'], [[1, 2], [1, 3], [2, 2]]);
     $expected = [['type' => 'Tuple', 'table' => ['_', '_'], 'cols' => ['author_id', 'blog_id'], 'val' => [[1, 2], [1, 3], [2, 2]], 'logic' => 'AND', 'not' => false]];
     $components = $b->build();
     $this->assertEquals($expected, $components['where']);
     $b = new WhereBuilder();
     $b->root('Article');
     $b->whereTuple(['authorId', 'blog/id'], [[1, 2], [1, 3], [2, 2]]);
     $where = [['type' => 'Tuple', 'table' => ['_', 'blog'], 'cols' => ['author_id', 'id'], 'val' => [[1, 2], [1, 3], [2, 2]], 'logic' => 'AND', 'not' => false]];
     $from = [new JoinClause('articles', '_'), (new JoinClause('blogs', 'blog'))->on('_', 'blog_id', 'blog', 'id')];
     $components = $b->build();
     $this->assertEquals($where, $components['where']);
     $this->assertEquals($from[1], $b->getJoinClause('blog'));
 }