public function testGettersAndSetters()
 {
     $clause = new InsertClause();
     $nameField = new FieldExpression();
     $nameField->setField('name');
     $idField = new FieldExpression();
     $idField->setField('id');
     $this->assertFalse($clause->hasFields());
     $clause->addField($nameField);
     $this->assertTrue($clause->hasFields());
     $this->assertSame([$nameField], $clause->getFields());
     $clause->clearFields();
     $clause->setFields([$nameField, $idField]);
     $this->assertTrue($clause->hasFields());
     $clause->clearFields();
     $this->assertFalse($clause->hasFields());
     $this->setExpectedException("InvalidArgumentException");
     $clause->setFields([$nameField, $idField, 'abc']);
 }
 public function testSettersAndGetters()
 {
     $expression = new FieldExpression();
     $expression->setField('new_field');
     $this->assertEquals('new_field', QueryAssembler::stringify($expression));
 }