function testParametersAreAssignedToSqlCommand() { $SqlCommand = new SqlCommand(); $parameters = new Parameters(); $p1 = new Parameter('n1', 'v1'); $parameters->Add($p1); $parameters->Add(new Parameter('n2', 'v2')); $SqlCommand->SetParameters($parameters); $newParam = new Parameter('n3', 'v3'); $SqlCommand->AddParameter($newParam); $this->assertNotNull($parameters, 'Parameters object null'); $this->assertNotNull($SqlCommand->Parameters, 'SqlCommand::parameters is null'); $this->assertEquals(3, $SqlCommand->Parameters->Count()); $this->assertEquals($parameters->Items(0), $SqlCommand->Parameters->Items(0)); $this->assertEquals($parameters->Items(1), $SqlCommand->Parameters->Items(1)); $this->assertNotNull($SqlCommand->Parameters->Items(2), 'Last parameter object null'); $this->assertEquals(3, $parameters->Count()); $this->assertEquals($newParam, $SqlCommand->Parameters->Items(2)); }
function testDatabaseQueryLoadsValuesInCorrectOrder() { $name1 = 'paramName1'; $val1 = 'value1'; $name2 = 'paramName2'; $val2 = 'value2'; $cn = new FakeDBConnection(); $db = new Database($cn); $p1 = new Parameter($name1, $val1); $p2 = new Parameter($name2, $val2); $parameters = new Parameters(); $parameters->Add($p1); $parameters->Add($p2); $command = new SqlCommand("SELECT * FROM sometable WHERE col1 = @{$name1} AND col2 = @{$name2}"); $command->SetParameters($parameters); $adapter = new Mdb2CommandAdapter($command); $vals = $adapter->GetValues(); $this->assertEquals(2, count($vals)); $this->assertEquals($val1, $vals[$name1]); $this->assertEquals($val2, $vals[$name2]); $this->assertEquals("SELECT * FROM sometable WHERE col1 = :{$name1} AND col2 = :{$name2}", $adapter->GetQuery()); }