public function testConstructor()
 {
     $cd = new ColumnDescription('columnName', ValueType::NUMBER, 'pretty column label');
     $this->assertSame('columnName', $cd->getId(), "id must match");
     $this->assertSame(ValueType::NUMBER, $cd->getType()->getCode(), "type must match");
     $this->assertSame('pretty column label', $cd->getLabel(), "label must match");
     $this->assertSame('', $cd->getPattern(), "Default pattern is empty string");
 }
 /**
  * @param ColumnDescription $column
  * @return string
  */
 public function renderColumnDescriptionJson(ColumnDescription $column)
 {
     $output = "{";
     $output .= "\"id\":" . json_encode($column->getId());
     $output .= ",\"label\":" . json_encode($column->getLabel());
     $output .= ",\"type\":" . json_encode($column->getType()->getTypeName());
     $output .= ",\"pattern\":" . json_encode($column->getPattern());
     $customProperties = $this->renderCustomPropertiesString($column->getCustomProperties());
     if ($customProperties !== null) {
         $output .= ",\"p\":" . $customProperties;
     }
     $output .= "}";
     return $output;
 }