require "spec_helper"
RSpec.describe MathML2AsciiMath do
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
a diamond x^2\n + b xx x\n + c_3
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
a diamond x^(2d)\n+ b xx x\n+ c_(ab)
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
(( 1 + sqrt( 5 ) ))/( 2 )
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
( a + b )
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
[ 0 , 1 )
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
\u222B_0^( oo )
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
\u222B_(ab)^(ds)
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
ubrace (\nx\n+\ny\n+\nz\n)
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
ul (\nx\n+\ny\n+\nz\n)
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
underset(fred)((\nx\n+\ny\n+\nz\n))
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
obrace\nx\n+\ny\n+\nz
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
hat\nx\n+\ny\n+\nz
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
bar\nx\n+\ny\n+\nz
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
vec\nx\n+\ny\n+\nz
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
dot\nx\n+\ny\n+\nz
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
ddot\nx\n+\ny\n+\nz
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
overset(fred)(\nx\n+\ny\n+\nz\n)
OUTPUT
end
it "processes some MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
X = [[A,B],[C,D],[E,F]]
OUTPUT
end
it "processes some unknown MathML" do
expect(MathML2AsciiMath.m2a(<<~INPUT)).to match_fuzzy <<~OUTPUT
INPUT
x\n+\n\n y \n + \n\nz
OUTPUT
end
end