/// <summary> /// Loads a MIB file. /// </summary> public static IEnumerable <IModule> Compile(Stream stream, List <CompilerError> errors, List <CompilerWarning> warnings) { if (stream == null) { throw new ArgumentNullException("stream"); } var watch = new System.Diagnostics.Stopwatch(); watch.Start(); var lexer = new SmiLexer(new ANTLRInputStream(stream)); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); try { var doc = parser.GetDocument(string.Empty); #if !MA Logger.Info(watch.ElapsedMilliseconds.ToString(CultureInfo.InvariantCulture) + "-ms used to parse"); #endif watch.Stop(); errors.AddRange(parser.Errors); warnings.AddRange(parser.Warnings); return(doc.Modules.OfType <IModule>().ToList()); } catch (RecognitionException ex) { errors.Add(new CompilerError(ex)); errors.AddRange(parser.Errors); warnings.AddRange(parser.Warnings); return(new IModule[0]); } }
public void TestComment2() { string test = "ADSL-LINE-MIB --c-c-- DEFINITIONS ::= BEGIN --c " + Environment.NewLine + "END"; var lex = new SmiLexer(new ANTLRStringStream(test)); var tokens = new CommonTokenStream(lex); var parser = new SmiParser(tokens); var document = parser.GetDocument(); }
public void TestSYMMIB_MIB_MIB() { var stream = new ANTLRInputStream(new MemoryStream(Resources.SYMMIB_MIB_MIB)); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var document = parser.GetDocument(); Assert.AreEqual(1, document.Modules.Count); Assert.AreEqual("SYMMIB_MIB-MIB", document.Modules[0].Name); Assert.AreEqual(117, document.Modules[0].Constructs.Count); Assert.AreEqual(98, document.Modules[0].Entities.Count); var node = document.Modules[0].Entities[97]; Assert.AreEqual("disableTrapAtt3", node.Name); Assert.AreEqual(3, node.Value); Assert.AreEqual("iNTELMIFTOMIBEntry", node.Parent); }
public void TestSNMPv2_SMI() { var stream = new ANTLRInputStream(new MemoryStream(Resources.SNMPv2_SMI)); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var document = parser.GetDocument(); Assert.AreEqual(1, document.Modules.Count); Assert.AreEqual("SNMPv2-SMI", document.Modules[0].Name); Assert.AreEqual(34, document.Modules[0].Constructs.Count); Assert.AreEqual(16, document.Modules[0].Entities.Count); var node = document.Modules[0].Entities[15]; Assert.AreEqual("zeroDotZero", node.Name); Assert.AreEqual(0, node.Value); Assert.AreEqual("ccitt", node.Parent); }
/// <summary> /// Loads a MIB file. /// </summary> /// <param name="fileName">File name.</param> /// <param name="errors">Errors.</param> public static IEnumerable <IModule> Compile(string fileName, List <CompilerError> errors, List <CompilerWarning> warnings) { if (fileName == null) { throw new ArgumentNullException("fileName"); } if (fileName.Length == 0) { throw new ArgumentException("fileName cannot be empty"); } if (!File.Exists(fileName)) { throw new ArgumentException("file does not exist: " + fileName); } var watch = new System.Diagnostics.Stopwatch(); watch.Start(); var lexer = new SmiLexer(new ANTLRFileStream(fileName)); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); try { var doc = parser.GetDocument(fileName); #if !MA Logger.Info(watch.ElapsedMilliseconds.ToString(CultureInfo.InvariantCulture) + "-ms used to parse " + fileName); #endif watch.Stop(); errors.AddRange(parser.Errors); warnings.AddRange(parser.Warnings); return(doc.Modules.OfType <IModule>()); } catch (RecognitionException ex) { errors.Add(new CompilerError(ex) { FileName = fileName }); errors.AddRange(parser.Errors); warnings.AddRange(parser.Warnings); return(new IModule[0]); } }
public void TestALLIEDTELESYN_MIB() { var m = new MemoryStream(Resources.ALLIEDTELESYN_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ALLIEDTELESYN-MIB", file.Modules[0].Name); Assert.AreEqual(4, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(606, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[605]; Assert.AreEqual("ds3TrapInterval", node.Name); Assert.AreEqual(4, node.Value); Assert.AreEqual("ds3TrapEntry", node.Parent); }
public void TestUCD_SNMP_MIB_OLD() { var m = new MemoryStream(Resources.UCD_SNMP_MIB_OLD); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("UCD-SNMP-MIB-OLD", file.Modules[0].Name); Assert.AreEqual(35, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[34]; Assert.AreEqual("loadaveErrMessage", node.Name); Assert.AreEqual(101, node.Value); Assert.AreEqual("loadaves", node.Parent); }
public void TestUCD_IPFWACC_MIB() { var m = new MemoryStream(Resources.UCD_IPFWACC_MIB1); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("UCD-IPFWACC-MIB", file.Modules[0].Name); Assert.AreEqual(29, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[28]; Assert.AreEqual("ipFwAccPort10", node.Name); Assert.AreEqual(26, node.Value); Assert.AreEqual("ipFwAccEntry", node.Parent); }
public void TestUCD_DISKIO_MIB() { var m = new MemoryStream(Resources.UCD_DISKIO_MIB1); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("UCD-DISKIO-MIB", file.Modules[0].Name); Assert.AreEqual(14, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[13]; Assert.AreEqual("diskIONWrittenX", node.Name); Assert.AreEqual(13, node.Value); Assert.AreEqual("diskIOEntry", node.Parent); }
public void TestTunnel_MIB() { var m = new MemoryStream(Resources.TUNNEL_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("TUNNEL-MIB", file.Modules[0].Name); Assert.AreEqual(42, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[41]; Assert.AreEqual("tunnelMIBInetGroup", node.Name); Assert.AreEqual(2, node.Value); Assert.AreEqual("tunnelMIBGroups", node.Parent); }
public void TestSNMP_VIEW_BASED_ACM_MIB() { var m = new MemoryStream(Resources.SNMP_VIEW_BASED_ACM_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("SNMP-VIEW-BASED-ACM-MIB", file.Modules[0].Name); Assert.AreEqual(38, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[37]; Assert.AreEqual("vacmBasicGroup", node.Name); Assert.AreEqual(1, node.Value); Assert.AreEqual("vacmMIBGroups", node.Parent); }
public void TestRMON_MIB() { var m = new MemoryStream(Resources.RMON_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("RMON-MIB", file.Modules[0].Name); Assert.AreEqual(232, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[231]; Assert.AreEqual("rmonNotificationGroup", node.Name); Assert.AreEqual(11, node.Value); Assert.AreEqual("rmonGroups", node.Parent); }
public void TestRFC1213_MIB2() { var m = new MemoryStream(Resources.RFC1213_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var exception = Assert.Throws<MismatchedTokenException>(() => parser.GetDocument()); var token = exception.Token; Assert.AreEqual(@"DESCRIPTION", token.Text); Assert.AreEqual(1, token.Line); Assert.AreEqual(1, parser.Errors.Count); var error = parser.Errors[0]; Assert.AreEqual(@"""Test Agent Simulator""", error.Token.Text); }
public void TestAIRPORT_BASESTATION_3_MIB() { var m = new MemoryStream(Resources.AIRPORT_BASESTATION_3_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("AIRPORT-BASESTATION-3-MIB", file.Modules[0].Name); Assert.AreEqual(3, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(47, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[46]; Assert.AreEqual("physicalInterfaceNumRXError", node.Name); Assert.AreEqual(10, node.Value); Assert.AreEqual("physicalInterface", node.Parent); }
public void TestARRAYMANAGER_MIB() { var m = new MemoryStream(Resources.ARRAYMANAGER_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument(); Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ArrayManager-MIB", file.Modules[0].Name); Assert.AreEqual(4, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(380, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[379]; Assert.AreEqual("rebuildRateEv", node.Name); Assert.AreEqual(222, node.Value); Assert.AreEqual("aryMgrEvts", node.Parent); }
public void TestALVARION_DOT11_WLAN_MIB() { var m = new MemoryStream(Resources.ALVARION_DOT11_WLAN_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ALVARION-DOT11-WLAN-MIB", file.Modules[0].Name); Assert.AreEqual(2, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(269, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[268]; Assert.AreEqual("brzaccVLTrapFtpStatus", node.Name); Assert.AreEqual(10, node.Value); Assert.AreEqual("brzaccVLTraps", node.Parent); }
public void TestAPPC_MIB() { var m = new MemoryStream(Resources.APPC_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("APPC-MIB", file.Modules[0].Name); Assert.AreEqual(4, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(305, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[304]; Assert.AreEqual("appcConversationConfGroup", node.Name); Assert.AreEqual(10, node.Value); Assert.AreEqual("appcGroups", node.Parent); }
public void TestARROWPOINT_IPV4_OSPF_MIB() { var m = new MemoryStream(Resources.ARROWPOINT_IPV4_OSPF_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ARROWPOINT-IPV4-OSPF-MIB", file.Modules[0].Name); Assert.AreEqual(5, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(50, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[49]; Assert.AreEqual("apIpv4OspfCompliance", node.Name); Assert.AreEqual(1, node.Value); Assert.AreEqual("apIpv4OspfCompliances", node.Parent); }
public void TestRFC_1215() { var m = new MemoryStream(Resources.RFC_1215); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("RFC-1215", file.Modules[0].Name); Assert.AreEqual(0, file.Modules[0].Entities.Count); }
public void TestADMIN_AUTH_STATS_MIB() { var m = new MemoryStream(Resources.ADMIN_AUTH_STATS_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ADMIN-AUTH-STATS-MIB", file.Modules[0].Name); Assert.AreEqual(4, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(23, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[22]; Assert.AreEqual("alAdminAuthClientMIBGroup", node.Name); Assert.AreEqual(2, node.Value); Assert.AreEqual("alAdminAuthGroup", node.Parent); }
public void TestSMUX_MIB() { var m = new MemoryStream(Resources.SMUX_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("SMUX-MIB", file.Modules[0].Name); Assert.AreEqual(14, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[13]; Assert.AreEqual("smuxTstatus", node.Name); Assert.AreEqual(4, node.Value); Assert.AreEqual("smuxTreeEntry", node.Parent); }
public void TestADSL_TC_MIB() { var m = new MemoryStream(Resources.ADSL_TC_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ADSL-TC-MIB", file.Modules[0].Name); Assert.AreEqual(2, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(1, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[0]; Assert.AreEqual("adsltcmib", node.Name); Assert.AreEqual(2, node.Value); Assert.AreEqual("transmission.94", node.Parent); }
public void TestTransport_Address_MIB() { var m = new MemoryStream(Resources.TRANSPORT_ADDRESS_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("TRANSPORT-ADDRESS-MIB", file.Modules[0].Name); Assert.AreEqual(18, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[17]; Assert.AreEqual("transportDomainSctpDns", node.Name); Assert.AreEqual(16, node.Value); Assert.AreEqual("transportDomains", node.Parent); }
public void TestADSL_LINE_MIB() { var m = new MemoryStream(Resources.ADSL_LINE_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ADSL-LINE-MIB", file.Modules[0].Name); Assert.AreEqual(6, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(275, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[274]; Assert.AreEqual("adslAturLineProfileControlGroup", node.Name); Assert.AreEqual(25, node.Value); Assert.AreEqual("adslGroups", node.Parent); }
public void TestUCD_DEMO_MIB() { var m = new MemoryStream(Resources.UCD_DEMO_MIB1); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("UCD-DEMO-MIB", file.Modules[0].Name); Assert.AreEqual(7, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[6]; Assert.AreEqual("ucdDemoPassphrase", node.Name); Assert.AreEqual(4, node.Value); Assert.AreEqual("ucdDemoPublic", node.Parent); }
public void TestACTONA_ACTASTOR_MIB() { var m = new MemoryStream(Resources.ACTONA_ACTASTOR_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual("ACTONA-ACTASTOR-MIB", file.Modules[0].Name); Assert.AreEqual(3, file.Modules[0].Imports.Clauses.Count); Assert.AreEqual(100, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[99]; Assert.AreEqual("acNotificationInfoGroup", node.Name); Assert.AreEqual(7, node.Value); Assert.AreEqual("actastorGroups", node.Parent); }
public void TestUCD_DLMOD_MIB() { var m = new MemoryStream(Resources.UCD_DLMOD_MIB1); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("UCD-DLMOD-MIB", file.Modules[0].Name); Assert.AreEqual(9, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[8]; Assert.AreEqual("dlmodStatus", node.Name); Assert.AreEqual(5, node.Value); Assert.AreEqual("dlmodEntry", node.Parent); }
public void TestRFC1155_SMI() { var m = new MemoryStream(Resources.RFC1155_SMI); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("RFC1155-SMI", file.Modules[0].Name); Assert.AreEqual(6, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[0]; Assert.AreEqual("internet", node.Name); Assert.AreEqual(1, node.Value); Assert.AreEqual("iso.org(3).dod(6)", node.Parent); }
public void TestUCD_SNMP_MIB() { var m = new MemoryStream(Resources.UCD_SNMP_MIB1); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("UCD-SNMP-MIB", file.Modules[0].Name); Assert.AreEqual(158, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[157]; Assert.AreEqual("logMatchRegExCompilation", node.Name); Assert.AreEqual(101, node.Value); Assert.AreEqual("logMatchEntry", node.Parent); }
public void TestRFC1271_MIB() { var m = new MemoryStream(Resources.RFC1271_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("RFC1271-MIB", file.Modules[0].Name); Assert.AreEqual(213, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[212]; Assert.AreEqual("logDescription", node.Name); Assert.AreEqual(4, node.Value); Assert.AreEqual("logEntry", node.Parent); }
public void TestUDP_MIB() { var m = new MemoryStream(Resources.UDP_MIB); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("UDP-MIB", file.Modules[0].Name); Assert.AreEqual(31, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[30]; Assert.AreEqual("udpEndpointGroup", node.Name); Assert.AreEqual(4, node.Value); Assert.AreEqual("udpMIBGroups", node.Parent); }
public void TestRFC1213_MIB() { var m = new MemoryStream(Resources.RFC1213_MIB1); var stream = new ANTLRInputStream(m); var lexer = new SmiLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new SmiParser(tokens); var file = parser.GetDocument();Assert.AreEqual(0, parser.Warnings.Count); Assert.AreEqual(1, file.Modules.Count); Assert.AreEqual("RFC1213-MIB", file.Modules[0].Name); Assert.AreEqual(201, file.Modules[0].Entities.Count); IEntity node = file.Modules[0].Entities[200]; Assert.AreEqual("snmpEnableAuthenTraps", node.Name); Assert.AreEqual(30, node.Value); Assert.AreEqual("snmp", node.Parent); }