test/transformer/spec_expr-transformer.rb in pione-0.1.4 vs test/transformer/spec_expr-transformer.rb in pione-0.2.0

- old
+ new

@@ -1,53 +1,46 @@ require_relative '../test-util' +$a = PioneString.new("a") +$b = PioneString.new("b") +$c = PioneString.new("c") +$abc = PioneString.new("abc") +$var_x = Variable.new("X") +$var_y = Variable.new("Y") +$var_z = Variable.new("Z") + describe 'Pione::Transformer::ExprTransformer' do + transformer_spec("binary operator", :expr) do tc "1 + 2" do - BinaryOperator.new( + Message.new( "+", IntegerSequence.new([1.to_pione]), IntegerSequence.new([2.to_pione]) ) end tc '"a" + "b"' do - BinaryOperator.new( - "+", - StringSequence.new(["a".to_pione]), - StringSequence.new(["b".to_pione]) - ) + Message.new("+", StringSequence.new([$a]), StringSequence.new([$b])) end tc "false || true" do - BinaryOperator.new( + Message.new( "||", BooleanSequence.new([PioneBoolean.false]), BooleanSequence.new([PioneBoolean.true]) ) end - tc "$Var * 3" do - BinaryOperator.new( - "*", - Variable.new("Var"), - IntegerSequence.new([3.to_pione]) - ) + tc "$X * 3" do + Message.new("*", $var_x, IntegerSequence.new([3.to_pione])) end - tc "($Var1 == \"a\") && ($Var2 == \"b\")" do - left = BinaryOperator.new( - "==", - Variable.new("Var1"), - StringSequence.new(["a".to_pione]) - ) - right = BinaryOperator.new( - "==", - Variable.new("Var2"), - StringSequence.new([PioneString.new("b")]) - ) - BinaryOperator.new("&&", left, right) + tc "($X == \"a\") && ($Y == \"b\")" do + left = Message.new("==", $var_x, StringSequence.new([$a])) + right = Message.new("==", $var_y, StringSequence.new([$b])) + Message.new("&&", left, right) end end transformer_spec("data_expr", :expr) do tc "'test.a'" do @@ -69,29 +62,29 @@ end tc "\"abc\".index(1,1)" do Message.new( "index", - StringSequence.new(["abc".to_pione]), + StringSequence.new([$abc]), IntegerSequence.new([1.to_pione]), IntegerSequence.new([1.to_pione]) ) end tc "(1 + 2).prev" do Message.new( "prev", - BinaryOperator.new( + Message.new( "+", IntegerSequence.new([1.to_pione]), IntegerSequence.new([2.to_pione]) ) ) end tc "abc.sync" do - rule = RuleExpr.new(Package.new("main"), "abc") + rule = RuleExpr.new(PackageExpr.new("main"), "abc") Message.new("sync", rule) end tc "'*.txt'.all" do Message.new("all", DataExpr.new("*.txt").to_seq) @@ -109,27 +102,25 @@ transformer_spec("parameters", :expr) do tc "{}" do Parameters.new({}) end - tc "{var1: 1}" do - Parameters.new( - {Variable.new("var1") => IntegerSequence.new([PioneInteger.new(1)])} - ) + tc "{X: 1}" do + Parameters.new({$var_x => IntegerSequence.new([PioneInteger.new(1)])}) end - tc "{var1: 1, var2: 2}" do + tc "{X: 1, Y: 2}" do Parameters.new( - { Variable.new("var1") => IntegerSequence.new([PioneInteger.new(1)]), - Variable.new("var2") => IntegerSequence.new([PioneInteger.new(2)]) } + { $var_x => IntegerSequence.new([PioneInteger.new(1)]), + $var_y => IntegerSequence.new([PioneInteger.new(2)]) } ) end - tc "{var1: \"a\", var2: \"b\", var3: \"c\"}" do + tc "{X: \"a\", Y: \"b\", Z: \"c\"}" do Parameters.new( - { Variable.new("var1") => StringSequence.new([PioneString.new("a")]), - Variable.new("var2") => StringSequence.new([PioneString.new("b")]), - Variable.new("var3") => StringSequence.new([PioneString.new("c")]) } + { $var_x => StringSequence.new([$a]), + $var_y => StringSequence.new([$b]), + $var_z => StringSequence.new([$c]) } ) end end end