<?php
namespace nur\data\template;

use PHPUnit\Framework\TestCase;

class StringTemplateTest extends TestCase {
  function testApply() {
    $t = new MyStringTemplate();
    $t["texte"] = "truc";
    self::assertSame("Ceci est un TEST de truc qui bouge pas et qui bouge", $t->apply());
    $t["texte"] = "machin";
    self::assertSame("Ceci est un TEST de machin qui bouge pas et qui bouge", $t->apply());
  }
}

class MyStringTemplate extends StringTemplate {
  const TEXT = "Ceci est un TEST de TEXTE statique et dynamique";
  const EXPRS = [
    "TEXTE" => "texte",
    "statique" => "::get_statique",
    "dynamique" => "->getDynamique",
  ];

  static function get_statique(): string {
    return "qui bouge pas";
  }
  static function getDynamique(): string {
    return "qui bouge";
  }
}