public function testUniqueArgumentsAccessors() { $message = new SendGrid\Mail(); $unique_arguments = array("sub_1" => array("val_1.1", "val_1.2", "val_1.3"), "sub_2" => array("val_2.1", "val_2.2"), "sub_3" => array("val_3.1", "val_3.2", "val_3.3", "val_3.4"), "sub_4" => array("val_4.1", "val_4.2", "val_4.3")); $message->setUniqueArguments($unique_arguments); $header = $message->getHeaders(); $this->assertEquals($unique_arguments, $header['unique_args']); $this->assertEquals("{\"unique_args\":{\"sub_1\":[\"val_1.1\",\"val_1.2\",\"val_1.3\"],\"sub_2\":[\"val_2.1\",\"val_2.2\"],\"sub_3\":[\"val_3.1\",\"val_3.2\",\"val_3.3\",\"val_3.4\"],\"sub_4\":[\"val_4.1\",\"val_4.2\",\"val_4.3\"]}}", $message->getHeadersJson()); // ensure that addSubstitution appends to the list of substitutions $unique_vals = array("val_5.1", "val_5.2", "val_5.3", "val_5.4"); $message->addUniqueArgument("sub_5", $unique_vals); $unique_arguments["sub_5"] = $unique_vals; $header = $message->getHeaders(); $this->assertEquals(5, count($header['unique_args'])); $this->assertEquals($unique_arguments, $header['unique_args']); }