mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-28 08:14:59 +00:00
refactor: move language examples to fixture files
This commit is contained in:
parent
565f08a8e9
commit
4de8c25a3f
5 changed files with 148 additions and 144 deletions
|
@ -598,162 +598,22 @@ export { UserGreeting, useCounter, DEFAULT_NAME, MAX_AGE };
|
|||
),
|
||||
"csharp": (
|
||||
"test.cs",
|
||||
"""using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Greetings {
|
||||
public interface IGreeter {
|
||||
string Greet(string name);
|
||||
}
|
||||
|
||||
public class Person {
|
||||
public string Name { get; set; }
|
||||
public int Age { get; set; }
|
||||
|
||||
public Person(string name, int age) {
|
||||
Name = name;
|
||||
Age = age;
|
||||
}
|
||||
}
|
||||
|
||||
public class FormalGreeter : IGreeter {
|
||||
private const string PREFIX = "Good day";
|
||||
private static readonly int MAX_AGE = 150;
|
||||
|
||||
public string Greet(string name) {
|
||||
return $"{PREFIX}, {name}!";
|
||||
}
|
||||
|
||||
public string GreetPerson(Person person) {
|
||||
return $"{PREFIX}, {person.Name} ({person.Age})!";
|
||||
}
|
||||
}
|
||||
|
||||
public class Program {
|
||||
static void Main() {
|
||||
var greeter = new FormalGreeter();
|
||||
var person = new Person("World", 42);
|
||||
Console.WriteLine(greeter.GreetPerson(person));
|
||||
}
|
||||
}
|
||||
}""",
|
||||
"", # Now reads from fixture file
|
||||
"IGreeter", # Key symbol to check
|
||||
),
|
||||
"elisp": (
|
||||
"test.el",
|
||||
"""(defvar *default-greeting* "Hello")
|
||||
(defvar *max-name-length* 50)
|
||||
|
||||
(defstruct person
|
||||
(name "Anonymous")
|
||||
(age 0))
|
||||
|
||||
(defclass greeter ()
|
||||
((prefix :initarg :prefix
|
||||
:accessor greeter-prefix
|
||||
:initform *default-greeting*)))
|
||||
|
||||
(defmethod greet ((g greeter) (p person))
|
||||
(format nil "~A, ~A! You are ~D years old."
|
||||
(greeter-prefix g)
|
||||
(person-name p)
|
||||
(person-age p)))
|
||||
|
||||
(defun create-formal-greeter ()
|
||||
(make-instance 'greeter :prefix "Good day"))
|
||||
|
||||
(defun main ()
|
||||
(let ((greeter (create-formal-greeter))
|
||||
(person (make-person :name "World" :age 42)))
|
||||
(message "%s" (greet greeter person))))""",
|
||||
"", # Now reads from fixture file
|
||||
"greeter", # Key symbol to check
|
||||
),
|
||||
"elm": (
|
||||
"test.elm",
|
||||
"""module Main exposing (main, Person, Greeting)
|
||||
|
||||
import Html exposing (Html, div, text)
|
||||
import Html.Attributes exposing (class)
|
||||
|
||||
type alias Person =
|
||||
{ name : String
|
||||
, age : Int
|
||||
}
|
||||
|
||||
type Greeting
|
||||
= Formal
|
||||
| Casual
|
||||
|
||||
greet : Greeting -> Person -> String
|
||||
greet style person =
|
||||
let
|
||||
prefix =
|
||||
case style of
|
||||
Formal ->
|
||||
"Good day"
|
||||
|
||||
Casual ->
|
||||
"Hi"
|
||||
in
|
||||
prefix ++ ", " ++ person.name ++ "!"
|
||||
|
||||
defaultPerson : Person
|
||||
defaultPerson =
|
||||
{ name = "World"
|
||||
, age = 42
|
||||
}
|
||||
|
||||
main : Html msg
|
||||
main =
|
||||
div [ class "greeting" ]
|
||||
[ text (greet Formal defaultPerson)
|
||||
]""",
|
||||
"", # Now reads from fixture file
|
||||
"Person", # Key symbol to check
|
||||
),
|
||||
"go": (
|
||||
"test.go",
|
||||
"""package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// Person represents someone who can be greeted
|
||||
type Person struct {
|
||||
Name string
|
||||
Age int
|
||||
}
|
||||
|
||||
// Greeter defines greeting behavior
|
||||
type Greeter interface {
|
||||
Greet(p Person) string
|
||||
}
|
||||
|
||||
// FormalGreeter implements Greeter with formal style
|
||||
type FormalGreeter struct {
|
||||
Prefix string
|
||||
}
|
||||
|
||||
const (
|
||||
DefaultName = "World"
|
||||
MaxAge = 150
|
||||
)
|
||||
|
||||
func (g FormalGreeter) Greet(p Person) string {
|
||||
return fmt.Sprintf("%s, %s! You are %d years old.",
|
||||
g.Prefix, p.Name, p.Age)
|
||||
}
|
||||
|
||||
func NewFormalGreeter() *FormalGreeter {
|
||||
return &FormalGreeter{Prefix: "Good day"}
|
||||
}
|
||||
|
||||
func main() {
|
||||
greeter := NewFormalGreeter()
|
||||
person := Person{Name: DefaultName, Age: 42}
|
||||
fmt.Println(greeter.Greet(person))
|
||||
}""",
|
||||
"", # Now reads from fixture file
|
||||
"Greeter", # Key symbol to check
|
||||
),
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue