#include "gtest/gtest.h"
#include "../../../OdfFile/Reader/Converter/StarMath2OOXML/cooxml2odf.h"
#include "../../../DesktopEditor/xml/include/xmlutils.h"
#include "SmartArt.h"
struct StMath
{
StMath(): m_wsSemantic(L""),m_wsAnnotation(L"")
{}
std::wstring m_wsSemantic;
std::wstring m_wsAnnotation;
bool operator==(const StMath& stExample) const
{
return(this->m_wsSemantic == stExample.m_wsSemantic) && (this->m_wsAnnotation == stExample.m_wsAnnotation);
}
};
TEST(OOXml2OdfTest,MathPara)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMathPara();
if(oReader.FromString(L"1") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,Math)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L"1") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath stCorrect,stResult;
stResult.m_wsSemantic = oTest.GetOdf();
stResult.m_wsAnnotation = oTest.GetAnnotation();
stCorrect.m_wsSemantic = L"1";
stCorrect.m_wsAnnotation = L"1 ";
EXPECT_EQ(stResult,stCorrect);
}
TEST(OOXml2OdfTest,MText)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::COMath* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L"10") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.ConversionVectorWritingElement(pElement->m_arrItems);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"10";
StCorrect.m_wsAnnotation = L"10 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,MTextHard)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::COMath* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 20 2+3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.ConversionVectorWritingElement(pElement->m_arrItems);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"202+3";
StCorrect.m_wsAnnotation = L"20 ` 2 + 3 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,MTextHardAttribute)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::COMath* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 20 2 - 3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.ConversionVectorWritingElement(pElement->m_arrItems);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"202-3";
StCorrect.m_wsAnnotation = L"color red 20 ` color hex ED7D31 2 color hex 70AD47 - color hex 1F4E79 3 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,FractionOver)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CFraction* pElement = new OOX::Logic::CFraction();
if(oReader.FromString(L" 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"12";
StCorrect.m_wsAnnotation = L"{ 1 } over { 2 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,FractionWideslash)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CFraction* pElement = new OOX::Logic::CFraction();
if(oReader.FromString(L" 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"12";
StCorrect.m_wsAnnotation = L"{ 1 } wideslash { 2 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,FractionSlash)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CFraction* pElement = new OOX::Logic::CFraction();
if(oReader.FromString(L" 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"1/2";
StCorrect.m_wsAnnotation = L"{ 1 } / { 2 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,Delimiter)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CDelimiter* pElement = new OOX::Logic::CDelimiter();
if(oReader.FromString(L" 2-3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"[2-3]";
StCorrect.m_wsAnnotation = L"left [ 2 - 3 right ] ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,NaryFromTo)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CNary* pElement = new OOX::Logic::CNary();
if(oReader.FromString(L" 2 1 3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"\u2211213";
StCorrect.m_wsAnnotation = L"sum from {2 } to {1 } 3 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,NaryFrom)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CNary* pElement = new OOX::Logic::CNary();
if(oReader.FromString(L" 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"\u221012";
StCorrect.m_wsAnnotation = L"coprod from {1 } 2 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,NaryOper)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CNary* pElement = new OOX::Logic::CNary();
if(oReader.FromString(L" 10 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"\u22C010";
StCorrect.m_wsAnnotation = L"oper \u22C0 10 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,AccDdot)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CAcc* pElement = new OOX::Logic::CAcc();
if(oReader.FromString(L" 1 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"1\u0308";
StCorrect.m_wsAnnotation = L"ddot 1 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,Matrix)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CMatrix* pElement = new OOX::Logic::CMatrix();
if(oReader.FromString(L" 1 2 3 4 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"1234";
StCorrect.m_wsAnnotation = L"matrix{1 # 2 ## 3 # 4 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,MatrixWithOneColumn)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CMatrix* pElement = new OOX::Logic::CMatrix();
if(oReader.FromString(L" 1 2 3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"123";
StCorrect.m_wsAnnotation = L"matrix{1 ## 2 ## 3 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,Box)
{
XmlUtils::CXmlLiteReader oReader;
OOX::Logic::CBox* pElement = new OOX::Logic::CBox();
if(oReader.FromString(L" 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"12";
StCorrect.m_wsAnnotation = L"{ 1 } over { 2 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,sSup)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CSSup();
if(oReader.FromString(L" 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"12";
StCorrect.m_wsAnnotation = L"1 ^ {2 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,sSub)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CSSub();
if(oReader.FromString(L" 3 4 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"34";
StCorrect.m_wsAnnotation = L"3 _ {4 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,sSubSup)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CSSubSup();
if(oReader.FromString(L" 5 7 6 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"576";
StCorrect.m_wsAnnotation = L"5 _ { 7 } ^ { 6 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,sPre)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CSPre();
if(oReader.FromString(L" 8 9 1 0 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"1098";
StCorrect.m_wsAnnotation = L"10 lsup { 9 } lsub { 8 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,EqArr)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CEqArr();
if(oReader.FromString(L" 1 2 3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"123";
StCorrect.m_wsAnnotation = L"stack{1 # 2 # 3 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,NumBinom)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CFraction();
if(oReader.FromString(L" 4 5 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"45";
StCorrect.m_wsAnnotation = L"binom { 4 } { 5 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,RelationsAndOperations)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 2 \u225D 3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"2\u225D3";
StCorrect.m_wsAnnotation = L"2 def 3 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,Special)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" \u2135 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"\u2135";
StCorrect.m_wsAnnotation = L"aleph ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,LimLow)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CFunc();
if(oReader.FromString(L" lim 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"lim12";
StCorrect.m_wsAnnotation = L""lim" csub { 1 } 2 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,Func)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CFunc();
if(oReader.FromString(L" coth 5 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"coth5";
StCorrect.m_wsAnnotation = L""coth" 5 ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,LimUpp)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CLimUpp;
if(oReader.FromString(L" 1 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"1\u23DE2";
StCorrect.m_wsAnnotation = L"1 overbrace { 2 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,LimLowWithGroup)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::CLimLow();
if(oReader.FromString(L" 3 4 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.NodeDefinition(pElement);
StMath StCorrect,StResult;
StResult.m_wsSemantic = oTest.GetOdf();
StResult.m_wsAnnotation = oTest.GetAnnotation();
StCorrect.m_wsSemantic = L"3\u23DF4";
StCorrect.m_wsAnnotation = L"3 underbrace { 4 } ";
EXPECT_EQ(StResult,StCorrect);
}
TEST(OOXml2OdfTest,Example2)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMathPara();
if(oReader.FromString(L" x = - b \u00B1 b 2 -4 ac 2 a ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,Example1)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMathPara();
if(oReader.FromString(L" x+a n = k=0 n n k x k a n-k ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,Example3)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMathPara();
if(oReader.FromString(L" A=\u03C0 r 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,LimLowWithRelation)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" lim n\u2192\u221E 1 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,HarmonicSeries)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 1 + 1 n n ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,Example8)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" sin \u03B1 \u00B1 sin \u03B2 =2 sin 1 2 \u03B1\u00B1\u03B2 cos 1 2 \u03B1\u2213\u03B2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,Example7)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" a 2 + b 2 = c 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,Example9)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" cos \u03B1 + cos \u03B2 =2 cos 1 2 \u03B1+\u03B2 cos 1 2 \u03B1-\u03B2 fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,TextMrPr)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 1+3 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,ColorByName)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" q b ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,EmptyNumerator)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 2 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,IdentityMatrixDiagonally)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 1 0 0 0 1 0 0 0 1 ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,ExceptionsDiacritics)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 1 2 b abc ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,ExceptionsGroupChr)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" 1 2b dia ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,EmptyMatrix)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,EmptyNary)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}
TEST(OOXml2OdfTest,EmptyRoot)
{
XmlUtils::CXmlLiteReader oReader;
OOX::WritingElement* pElement = new OOX::Logic::COMath();
if(oReader.FromString(L" ") && oReader.ReadNextNode())
pElement->fromXML(oReader);
StarMath::COOXml2Odf oTest;
oTest.StartConversion(pElement);
std::wstring wsOdf = L"";
EXPECT_EQ(oTest.GetOdf(),wsOdf);
}