evgenyigumnov / rustsn

Code snippets generator via LLMs and compiler/tester via build tools
GNU General Public License v3.0
18 stars 5 forks source link

Add PHP support #16

Closed evgenyigumnov closed 1 day ago

evgenyigumnov commented 2 days ago
  1. Create folder "php"
  2. Copy "prompt.txt" into the "php" folder

Launch example

rustsn --lang=php

Example query:

take 2 params and add them and return result

Example generation:

composer.json

{
  "name": "solution",
  "description": "Minimalistic project",
  "autoload": {
    "psr-4": {
      "Solution\\": "src/"
    }
  },
  "require": {},
  "require-dev": {
    "phpunit/phpunit": "^9.0"
  },
  "scripts": {
    "test": "phpunit"
  }
}

src/Solution.php

<?php

namespace Solution;

class Solution
{
    public function add($a, $b)
    {
        return $a + $b;
    }
}

tests/SolutionTest.php

<?php

use PHPUnit\Framework\TestCase;
use Solution\Solution;

class SolutionTest extends TestCase
{
    public function testAddPositiveNumbers()
    {
        $solution = new Solution();
        $this->assertEquals(3, $solution->add(1, 2));
    }

    public function testAddNegativeNumbers()
    {
        $solution = new Solution();
        $this->assertEquals(-3, $solution->add(-1, -2));
    }

    public function testAddStringAndNumber()
    {
        $solution = new Solution();
        $this->assertEquals('12', $solution->add('1', 2));
    }
}

Example install dependencies

composer install

Example launch test

composer test