#include "../conversionmathformula.h"
#include "gtest/gtest.h"
TEST(SMConvectorTest,IndexUpperLower)
{
std::wstring wsString = L"2^{ 1} _{ 3}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"231";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,LsupLsub)
{
std::wstring wsString = L"{ 1} LSUP { 2} LSUB { 3}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"321";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,UnderOver)
{
std::wstring wsString = L"UNDEROVER { 5} _{ 6} ^{ 7}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"576";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,VecUnder)
{
std::wstring wsString = L"vec { 1} under { 2}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"12";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,BarHat)
{
std::wstring wsString = L"bar { 5} hat { 6}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"56";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,SqrtRoot)
{
std::wstring wsString = L"sqrt {2} root {5} of {10}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"2510";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Over)
{
std::wstring wsString = L"{ 5} over {10 }";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"510";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,SumProdCoprod)
{
std::wstring wsString = L"sum _{ 1} ^{ 2} 3 PROD _{ 4} ^{5 } 6 COPROD _{ 7} ^{ 8} 9";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"123456789";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,BigPlusBigUplus)
{
std::wstring wsString = L"BIGOPLUS _{ 1} ^{2 } 3 BIGUPLUS _{ 5} ^{10 } 15";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"⊕213⊎10515";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Tint)
{
std::wstring wsString = L"tint _{{2} over {3}} ^{4} {root {5} of {10}}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"234510";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Otint)
{
std::wstring wsString = L"otint _{ 1} ^{ 2} { 3}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"123";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,RelAndBuildrelArrow)
{
std::wstring wsString = L"REL LRARROW { 1} { 2} REL EXARROW { 3} { 4} BUILDREL rarrow { 5} { 6}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"⇔12⇄34→56";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,LimLimlow)
{
std::wstring wsString = L"Lim _{ ->inf} { 2} lim _{ ->0} { 5}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"Lim→∞2lim→05";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,LfloorSquare)
{
std::wstring wsString = L"LEFT [ { 1} over { 2} RIGHT ] LFLOOR sum _{ 1} ^{ 2} RFLOOR";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"1212";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Cases)
{
std::wstring wsString = L"cases{ 1& 2# 3& 4}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"1234";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Lline)
{
std::wstring wsString = L"LEFT | 1 RIGHT | 2 + 3";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"12+3";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Arrow)
{
std::wstring wsString = L"larrow UPARROW NWARROW MAPSTO DLINE";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"←⇑↖↦‖";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Overbrace)
{
std::wstring wsString = L"OVERBRACE { 1} { 2}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"12";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Underbrace)
{
std::wstring wsString = L"UNDERBRACE { 5} {10 }";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"105";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Pile)
{
std::wstring wsString = L"pile{ 1 over 2 # 2}";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"122";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Pmatrix)
{
std::wstring wsString = L"pmatrix { 1& 2#3 &4 }";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"1234";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,Bmatrix)
{
std::wstring wsString = L"bmatrix { 1&2 &3 # 4& 6&5 # 7& 8&9 }";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"123465789";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,GreekSymbols)
{
std::wstring wsString = L"ALPHA ETA NU TAU PSI";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"ΑΗΝΤΨ";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,GreekSymbolsSmall)
{
std::wstring wsString = L"epsilon iota nu rho phi";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"εινρφ";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
TEST(SMConvectorTest,MathOperatorSymbols)
{
std::wstring wsString = L"+- DEG BECAUSE REIMAGE ASYMP FORALL LNOT DAGGER";
StarMath::CStarMathConverter oConverterStarMath;
std::wstring wsXmlString = L"±°∵≓≍∀¬†";
EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
}
// TEST(SMConvectorTest,AttributeMatrix)
// {
// std::wstring wsString = L"";
// StarMath::CStarMathConverter oConverterStarMath;
//
//
// std::wstring wsXmlString = L"";
// EXPECT_EQ(oConverterStarMath.ConvertEQNToOOXml(wsString),wsXmlString);
// }