@@ -1212,6 +1212,44 @@ public void AbsoluteRowReference()
12121212 Assert . AreEqual ( "$1" , references . First ( ) . MaxLocation ) ;
12131213 }
12141214
1215+ [ TestMethod ]
1216+ public void RefError ( )
1217+ {
1218+ List < ParserReference > references = new FormulaAnalyzer ( "#REF!" ) . ParserReferences ( ) . ToList ( ) ;
1219+
1220+ Assert . AreEqual ( 1 , references . Count ) ;
1221+ Assert . AreEqual ( ReferenceType . RefError , references . First ( ) . ReferenceType ) ;
1222+ Assert . AreEqual ( "#REF!" , references . First ( ) . LocationString ) ;
1223+ }
1224+
1225+ [ TestMethod ]
1226+ public void RefErrorRange ( )
1227+ {
1228+ List < ParserReference > references = new FormulaAnalyzer ( "#REF!:#REF!" ) . ParserReferences ( ) . ToList ( ) ;
1229+
1230+ Assert . AreEqual ( 2 , references . Count ) ;
1231+ Assert . AreEqual ( "#REF!" , references . First ( ) . LocationString ) ;
1232+ Assert . AreEqual ( "#REF!" , references . Last ( ) . LocationString ) ;
1233+ }
1234+
1235+ [ TestMethod ]
1236+ public void RefErrorCellRange ( )
1237+ {
1238+ List < ParserReference > references = new FormulaAnalyzer ( "A1:#REF!" ) . ParserReferences ( ) . ToList ( ) ;
1239+
1240+ Assert . AreEqual ( 2 , references . Count ) ;
1241+ Assert . AreEqual ( "A1" , references . First ( ) . LocationString ) ;
1242+ Assert . AreEqual ( "#REF!" , references . Last ( ) . LocationString ) ;
1243+ }
1244+
1245+ [ TestMethod ]
1246+ public void IndirectFunctionRange ( )
1247+ {
1248+ List < ParserReference > references = new FormulaAnalyzer ( @"INDIRECT(""A3""):INDIRECT(""A20000"")" ) . ParserReferences ( ) . ToList ( ) ;
1249+
1250+ Assert . AreEqual ( 0 , references . Count ) ;
1251+ }
1252+
12151253 [ TestMethod ]
12161254 public void ReferenceFunctionAsArgument ( )
12171255 {
0 commit comments