ExcelFormulaParser.Engine.ParsingScopes.NewScope C# (CSharp) Method

NewScope() public method

public NewScope ( RangeAddress address ) : ParsingScope
address ExcelFormulaParser.Engine.ExcelUtilities.RangeAddress
return ParsingScope
        public virtual ParsingScope NewScope(RangeAddress address)
        {
            ParsingScope scope;
            if (_scopes.Count() > 0)
            {
                scope = new ParsingScope(this, _scopes.Peek(), address);
            }
            else
            {
                scope = new ParsingScope(this, address);
            }
            _scopes.Push(scope);
            return scope;
        }

Usage Example

 public void AddReferenceToShouldThrowWhenReferenceToItSelf()
 {
     var lifetimeMock = MockRepository.GenerateStub<IParsingLifetimeEventHandler>();
     var scopes = new ParsingScopes(lifetimeMock);
     var scope1 = scopes.NewScope(_factory.Create("A2"));
     var scope2 = scopes.NewScope(_factory.Create("A2"));
     var formulaDependency = new FormulaDependency(scope1);
     formulaDependency.AddReferenceFrom(scope2.Address);
     formulaDependency.AddReferenceTo(scope2.Address);
 }