using Upsilon.BaseTypes.Number; using Upsilon.Evaluator; using Xunit; namespace UpsilonTests { public class ScopeTests { [Fact] public void LocalInnerScopeDoesNotOverrideGlobal() { const string input = @" a = 10 if true then local a = 100 end b = a "; var script = new Script(input); Assert.Empty(script.Diagnostics.Messages); var evaluate = script.Evaluate(); Assert.Empty(script.Diagnostics.Messages); Assert.Equal((long)10, evaluate); } [Fact] public void InnerScopeDoesOverrideGlobal() { const string input = @" a = 10 if true then a = 100 end b = a "; var script = new Script(input); Assert.Empty(script.Diagnostics.Messages); var evaluate = script.Evaluate(); Assert.Empty(script.Diagnostics.Messages); Assert.Equal((long)100, evaluate); } } }