public void GetTriadsFromPolis_ExpressionWithSeveralReturns_CorrectTriads() { var triadsConverter = new TriadsConverter(); var program = new TestProgramBuilder() .WithPolis(TestSourceKey.SeveralReturnsWithFirstWorking) .WithTriads(TestSourceKey.SeveralReturnsWithFirstWorking) .Build(); var actual = triadsConverter.GetTriadsFromPolis(program.Polis, program.PolisConditionIndexes, null); Assert.AreEqual(program.Triads, actual); Assert.AreEqual(program.TriadsConditionIndexes, triadsConverter.TriadsConditionIndexes); }
public void GetTriadsFromPolis_ExpressionWithCycleWhileInCondition_CorrectTriads() { var triadsConverter = new TriadsConverter(); var program = new TestProgramBuilder() .WithPolis(TestSourceKey.CycleWhileInCondition) .WithTriads(TestSourceKey.CycleWhileInCondition) .Build(); var actual = triadsConverter.GetTriadsFromPolis(program.Polis, program.PolisConditionIndexes, null); Assert.AreEqual(program.Triads, actual); Assert.AreEqual(program.TriadsConditionIndexes, triadsConverter.TriadsConditionIndexes); }
public Compiler() { SyntacticalAnalyzer = new SyntacticalAnalyzer(); TriadsConverter = new TriadsConverter(); TriadsOptimizer = new TriadsOptimizer(); }