import { afterAll, beforeEach, describe, expect, test } from '@jest/globals';
import { getTokens, setupTex, tex2mml } from '#helpers';
import '#js/input/tex/upgreek/UpgreekConfiguration';

beforeEach(() => setupTex(['base', 'upgreek']));

/**********************************************************************************/

describe('Upgreek', () => {
  test('upalpha', () => {
    expect(tex2mml('\\upalpha')).toMatchSnapshot();
  });

  test('upbeta', () => {
    expect(tex2mml('\\upbeta')).toMatchSnapshot();
  });

  test('upgamma', () => {
    expect(tex2mml('\\upgamma')).toMatchSnapshot();
  });

  test('updelta', () => {
    expect(tex2mml('\\updelta')).toMatchSnapshot();
  });

  test('upepsilon', () => {
    expect(tex2mml('\\upepsilon')).toMatchSnapshot();
  });

  test('upzeta', () => {
    expect(tex2mml('\\upzeta')).toMatchSnapshot();
  });

  test('upeta', () => {
    expect(tex2mml('\\upeta')).toMatchSnapshot();
  });

  test('uptheta', () => {
    expect(tex2mml('\\uptheta')).toMatchSnapshot();
  });

  test('upiota', () => {
    expect(tex2mml('\\upiota')).toMatchSnapshot();
  });

  test('upkappa', () => {
    expect(tex2mml('\\upkappa')).toMatchSnapshot();
  });

  test('uplambda', () => {
    expect(tex2mml('\\uplambda')).toMatchSnapshot();
  });

  test('upmu', () => {
    expect(tex2mml('\\upmu')).toMatchSnapshot();
  });

  test('upnu', () => {
    expect(tex2mml('\\upnu')).toMatchSnapshot();
  });

  test('upxi', () => {
    expect(tex2mml('\\upxi')).toMatchSnapshot();
  });

  test('upomicron', () => {
    expect(tex2mml('\\upomicron')).toMatchSnapshot();
  });

  test('uppi', () => {
    expect(tex2mml('\\uppi')).toMatchSnapshot();
  });

  test('uprho', () => {
    expect(tex2mml('\\uprho')).toMatchSnapshot();
  });

  test('upsigma', () => {
    expect(tex2mml('\\upsigma')).toMatchSnapshot();
  });

  test('uptau', () => {
    expect(tex2mml('\\uptau')).toMatchSnapshot();
  });

  test('upupsilon', () => {
    expect(tex2mml('\\upupsilon')).toMatchSnapshot();
  });

  test('upphi', () => {
    expect(tex2mml('\\upphi')).toMatchSnapshot();
  });

  test('upchi', () => {
    expect(tex2mml('\\upchi')).toMatchSnapshot();
  });

  test('uppsi', () => {
    expect(tex2mml('\\uppsi')).toMatchSnapshot();
  });

  test('upomega', () => {
    expect(tex2mml('\\upomega')).toMatchSnapshot();
  });

  test('upvarepsilon', () => {
    expect(tex2mml('\\upvarepsilon')).toMatchSnapshot();
  });

  test('upvartheta', () => {
    expect(tex2mml('\\upvartheta')).toMatchSnapshot();
  });

  test('upvarpi', () => {
    expect(tex2mml('\\upvarpi')).toMatchSnapshot();
  });

  test('upvarrho', () => {
    expect(tex2mml('\\upvarrho')).toMatchSnapshot();
  });

  test('upvarsigma', () => {
    expect(tex2mml('\\upvarsigma')).toMatchSnapshot();
  });

  test('upvarphi', () => {
    expect(tex2mml('\\upvarphi')).toMatchSnapshot();
  });

  test('Upgamma', () => {
    expect(tex2mml('\\Upgamma')).toMatchSnapshot();
  });

  test('Updelta', () => {
    expect(tex2mml('\\Updelta')).toMatchSnapshot();
  });

  test('Uptheta', () => {
    expect(tex2mml('\\Uptheta')).toMatchSnapshot();
  });

  test('Uplambda', () => {
    expect(tex2mml('\\Uplambda')).toMatchSnapshot();
  });

  test('Upxi', () => {
    expect(tex2mml('\\Upxi')).toMatchSnapshot();
  });

  test('Uppi', () => {
    expect(tex2mml('\\Uppi')).toMatchSnapshot();
  });

  test('Upsigma', () => {
    expect(tex2mml('\\Upsigma')).toMatchSnapshot();
  });

  test('Upupsilon', () => {
    expect(tex2mml('\\Upupsilon')).toMatchSnapshot();
  });

  test('Upphi', () => {
    expect(tex2mml('\\Upphi')).toMatchSnapshot();
  });

  test('Uppsi', () => {
    expect(tex2mml('\\Uppsi')).toMatchSnapshot();
  });

  test('Upomega', () => {
    expect(tex2mml('\\Upomega')).toMatchSnapshot();
  });
});

/**********************************************************************************/

afterAll(() => getTokens('upgreek'));
