Beispiel #1
0
        /// <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);
 }
Beispiel #5
0
        /// <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);
 }