Exemplo n.º 1
0
 public SparcRewriter(SparcArchitecture arch, IEnumerator <SparcInstruction> instrs, SparcProcessorState state, Frame frame, IRewriterHost host)
 {
     this.arch  = arch;
     this.frame = frame;
     this.host  = host;
     this.dasm  = new LookaheadEnumerator <SparcInstruction>(instrs);
 }
        public void TestIterator()
        {
            String      viewExpr  = "select Symbol, Price from " + typeof(SupportMarketDataBean).FullName + ".win:length(2)";
            EPStatement statement = _epService.EPAdministrator.CreateEPL(viewExpr);

            statement.Events += _testListener.Update;

            SendEvent("ABC", 20);
            SendEvent("DEF", 100);

            // check iterator results
            var       events   = new LookaheadEnumerator <EventBean>(statement.GetEnumerator());
            EventBean theEvent = events.Next();

            Assert.AreEqual("ABC", theEvent.Get("Symbol"));
            Assert.AreEqual(20d, theEvent.Get("Price"));

            theEvent = events.Next();
            Assert.AreEqual("DEF", theEvent.Get("Symbol"));
            Assert.AreEqual(100d, theEvent.Get("Price"));
            Assert.IsFalse(events.HasNext());

            SendEvent("EFG", 50);

            // check iterator results
            events   = new LookaheadEnumerator <EventBean>(statement.GetEnumerator());
            theEvent = events.Next();
            Assert.AreEqual("DEF", theEvent.Get("Symbol"));
            Assert.AreEqual(100d, theEvent.Get("Price"));

            theEvent = events.Next();
            Assert.AreEqual("EFG", theEvent.Get("Symbol"));
            Assert.AreEqual(50d, theEvent.Get("Price"));
        }
Exemplo n.º 3
0
 public SparcRewriter(SparcArchitecture arch, ImageReader rdr, SparcProcessorState state, Frame frame, IRewriterHost host)
 {
     this.arch  = arch;
     this.frame = frame;
     this.host  = host;
     this.dasm  = new LookaheadEnumerator <SparcInstruction>(CreateDisassemblyStream(rdr));
 }
 public void HitTheEnd()
 {
     var e = new LookaheadEnumerator<char>("a".GetEnumerator());
     Assert.IsTrue(e.MoveNext());
     Assert.IsFalse(e.MoveNext());
     Assert.IsFalse(e.MoveNext());
 }
 public void Peek1()
 {
     var e = new LookaheadEnumerator<char>("ab".GetEnumerator());
     e.MoveNext();
     Assert.AreEqual('b', e.Peek(1));
     Assert.AreEqual('a', e.Current);
 }
Exemplo n.º 6
0
        public void Peek0()
        {
            var e = new LookaheadEnumerator <char>("ab".GetEnumerator());

            e.MoveNext();
            Assert.AreEqual('a', e.Peek(0));
        }
Exemplo n.º 7
0
 public SparcRewriter(SparcArchitecture arch, IEnumerator <SparcInstruction> instrs, SparcProcessorState state, IStorageBinder binder, IRewriterHost host)
 {
     this.arch   = arch;
     this.binder = binder;
     this.host   = host;
     this.dasm   = new LookaheadEnumerator <SparcInstruction>(instrs);
 }
Exemplo n.º 8
0
        public void GetOne()
        {
            var e = new LookaheadEnumerator <char>("a".GetEnumerator());

            Assert.IsTrue(e.MoveNext());
            Assert.AreEqual('a', e.Current);
        }
Exemplo n.º 9
0
 public SparcRewriter(SparcArchitecture arch, EndianImageReader rdr, SparcProcessorState state, IStorageBinder binder, IRewriterHost host)
 {
     this.arch   = arch;
     this.binder = binder;
     this.host   = host;
     this.dasm   = new LookaheadEnumerator <SparcInstruction>(CreateDisassemblyStream(rdr));
 }
Exemplo n.º 10
0
        public void HitTheEnd()
        {
            var e = new LookaheadEnumerator <char>("a".GetEnumerator());

            Assert.IsTrue(e.MoveNext());
            Assert.IsFalse(e.MoveNext());
            Assert.IsFalse(e.MoveNext());
        }
Exemplo n.º 11
0
        public void Empty()
        {
            var enumerator = new LookaheadEnumerator <char>("".GetEnumerator(), 1);

            Assert.False(enumerator.MoveNext());
            Assert.Equal((char)0, enumerator.Current);
            Assert.Equal((char)0, enumerator.Values[1]);
        }
Exemplo n.º 12
0
 public Avr8Rewriter(Avr8Architecture arch, EndianImageReader rdr, ProcessorState state, IStorageBinder binder, IRewriterHost host)
 {
     this.arch   = arch;
     this.rdr    = rdr;
     this.dasm   = new LookaheadEnumerator <AvrInstruction>(new Avr8Disassembler(arch, rdr).GetEnumerator());
     this.state  = state;
     this.binder = binder;
     this.host   = host;
 }
Exemplo n.º 13
0
        public void Peek1MoveNext()
        {
            var e = new LookaheadEnumerator <char>("ab".GetEnumerator());

            e.MoveNext();
            Assert.AreEqual('b', e.Peek(1));
            Assert.IsTrue(e.MoveNext());
            Assert.AreEqual('b', e.Current);
        }
Exemplo n.º 14
0
 public Rl78Rewriter(Rl78Architecture arch, EndianImageReader rdr, ProcessorState state, IStorageBinder binder, IRewriterHost host)
 {
     this.arch   = arch;
     this.rdr    = rdr;
     this.state  = state;
     this.binder = binder;
     this.host   = host;
     this.dasm   = new LookaheadEnumerator <Rl78Instruction>(new Rl78Disassembler(arch, rdr));
     this.instr  = null !;
     this.m      = null !;
 }
Exemplo n.º 15
0
        public void Peek2ShouldReturnNull()
        {
            var e = new LookaheadEnumerator <string>(new List <string> {
                "ab", "bc"
            }.GetEnumerator());

            e.MoveNext();
            var nonExistent = e.Peek(2);

            Assert.IsNull(nonExistent);
        }
Exemplo n.º 16
0
        public void PeekThenMoveToEnd()
        {
            var e = new LookaheadEnumerator <char>("abc".GetEnumerator());

            e.MoveNext();
            Assert.AreEqual('c', e.Peek(2));
            Assert.IsTrue(e.MoveNext());
            Assert.AreEqual('b', e.Current);
            Assert.IsTrue(e.MoveNext());
            Assert.AreEqual('c', e.Current);
            Assert.IsFalse(e.MoveNext());
        }
Exemplo n.º 17
0
        public void PeekThenEnumerate()
        {
            var e = new LookaheadEnumerator <char>("abc".GetEnumerator());

            e.MoveNext();
            Assert.AreEqual('a', e.Current);
            Assert.AreEqual('b', e.Peek(1));
            e.MoveNext();
            Assert.AreEqual('b', e.Current);
            e.MoveNext();
            Assert.AreEqual('c', e.Current);
        }
Exemplo n.º 18
0
        public void Unwind()
        {
            var enumerator = new LookaheadEnumerator <char>("x".GetEnumerator(), 1);

            Assert.True(enumerator.MoveNext());
            Assert.Equal('x', enumerator.Current);
            Assert.Equal((char)0, enumerator.Values[1]);
            enumerator.Unwind();

            Assert.True(enumerator.MoveNext());
            Assert.Equal('x', enumerator.Current);
            Assert.Equal((char)0, enumerator.Values[1]);
        }
Exemplo n.º 19
0
 public void Peek2ShouldThrow()
 {
     var e = new LookaheadEnumerator<char>("ab".GetEnumerator());
     e.MoveNext();
     try
     {
         e.Peek(2);
         Assert.Fail();
     }
     catch (InvalidOperationException)
     {
     }
 }
Exemplo n.º 20
0
 public X86Rewriter(
     IntelArchitecture arch,
     IRewriterHost host,
     X86State state,
     EndianImageReader rdr,
     IStorageBinder binder)
 {
     this.arch   = arch;
     this.host   = host ?? throw new ArgumentNullException("host");
     this.state  = state;
     this.rdr    = rdr;
     this.binder = binder;
     this.dasm   = new LookaheadEnumerator <X86Instruction>(arch.CreateDisassemblerImpl(rdr));
 }
Exemplo n.º 21
0
        public void TwoChar()
        {
            var enumerator = new LookaheadEnumerator <char>("xy".GetEnumerator(), 1);

            Assert.True(enumerator.MoveNext());
            Assert.Equal('x', enumerator.Current);
            Assert.Equal('y', enumerator.Values[1]);
            Assert.True(enumerator.MoveNext());
            Assert.Equal('y', enumerator.Current);
            Assert.Equal((char)0, enumerator.Values[1]);
            Assert.False(enumerator.MoveNext());
            Assert.Equal((char)0, enumerator.Current);
            Assert.Equal((char)0, enumerator.Values[1]);
        }
        private static IEnumerable <MigrationMemento> LoadMementos(
            IEnumerable <MigrationHistoryRow> rows)
        {
            var enumerator = new LookaheadEnumerator <MigrationHistoryRow>(rows.GetEnumerator());

            enumerator.MoveNext();
            if (enumerator.More)
            {
                do
                {
                    yield return(LoadMemento(enumerator));
                } while (enumerator.More);
            }
        }
Exemplo n.º 23
0
        private void CheckNew(EPStatement statement, long countE, double sumE, double avgE, double stdevpaE, double stdevE, double varianceE)
        {
            var iterator = new LookaheadEnumerator <EventBean>(statement.GetEnumerator());

            CheckValues(iterator.Next(), false, false, countE, sumE, avgE, stdevpaE, stdevE, varianceE);
            Assert.IsTrue(iterator.HasNext() == false);

            Assert.IsTrue(_testListener.LastNewData.Length == 1);
            EventBean childViewValues = _testListener.LastNewData[0];

            CheckValues(childViewValues, false, false, countE, sumE, avgE, stdevpaE, stdevE, varianceE);

            _testListener.Reset();
        }
Exemplo n.º 24
0
        public void LAET_Regression1()
        {
            var e = new LookaheadEnumerator <char>("abcd".GetEnumerator());

            e.MoveNext();
            Assert.AreEqual('b', e.Peek(1));
            Assert.AreEqual('b', e.Peek(1));
            Assert.AreEqual('b', e.Peek(1));
            Assert.AreEqual('b', e.Peek(1));
            Assert.AreEqual('c', e.Peek(2));
            Assert.AreEqual('c', e.Peek(2));
            Assert.AreEqual('d', e.Peek(3));
            Assert.AreEqual('d', e.Peek(3));
        }
Exemplo n.º 25
0
        public void Peek2ShouldThrow()
        {
            var e = new LookaheadEnumerator <char>("ab".GetEnumerator());

            e.MoveNext();
            try
            {
                e.Peek(2);
                Assert.Fail();
            }
            catch (InvalidOperationException)
            {
            }
        }
        private static MigrationMemento LoadMemento(LookaheadEnumerator <MigrationHistoryRow> enumerator)
        {
            var type       = enumerator.Current.Type;
            var hashCode   = enumerator.Current.HashCode;
            var attributes = enumerator.Current.Attributes;
            var roles      = LoadRoles(hashCode, enumerator);

            var migrationAttributes = JsonConvert.DeserializeObject <Dictionary <string, string> >(attributes);
            var memento             = new MigrationMemento(
                type,
                migrationAttributes,
                hashCode,
                roles);

            return(memento);
        }
Exemplo n.º 27
0
 public X86Rewriter(
     IntelArchitecture arch,
     IRewriterHost host,
     X86State state,
     ImageReader rdr,
     Frame frame)
 {
     if (host == null)
     {
         throw new ArgumentNullException("host");
     }
     this.arch  = arch;
     this.host  = host;
     this.frame = frame;
     this.state = state;
     this.dasm  = new LookaheadEnumerator <X86Instruction>(arch.CreateDisassemblerImpl(rdr));
 }
Exemplo n.º 28
0
 public void GetOne()
 {
     var e = new LookaheadEnumerator<char>("a".GetEnumerator());
     Assert.IsTrue(e.MoveNext());
     Assert.AreEqual('a', e.Current);
 }
Exemplo n.º 29
0
 public void EmptySequence()
 {
     var e = new LookaheadEnumerator<char>("".GetEnumerator());
     Assert.IsFalse(e.MoveNext());
 }
Exemplo n.º 30
0
 public void LAET_Regression1()
 {
     var e = new LookaheadEnumerator<char>("abcd".GetEnumerator());
     e.MoveNext();
     Assert.AreEqual('b', e.Peek(1));
     Assert.AreEqual('b', e.Peek(1));
     Assert.AreEqual('b', e.Peek(1));
     Assert.AreEqual('b', e.Peek(1));
     Assert.AreEqual('c', e.Peek(2));
     Assert.AreEqual('c', e.Peek(2));
     Assert.AreEqual('d', e.Peek(3));
     Assert.AreEqual('d', e.Peek(3));
 }
Exemplo n.º 31
0
 public void PeekThenMoveToEnd()
 {
     var e = new LookaheadEnumerator<char>("abc".GetEnumerator());
     e.MoveNext();
     Assert.AreEqual('c', e.Peek(2));
     Assert.IsTrue(e.MoveNext());
     Assert.AreEqual('b', e.Current);
     Assert.IsTrue(e.MoveNext());
     Assert.AreEqual('c', e.Current);
     Assert.IsFalse(e.MoveNext());
 }
        private static IDictionary <string, IEnumerable <BigInteger> > LoadRoles(BigInteger hashCode, LookaheadEnumerator <MigrationHistoryRow> enumerator)
        {
            var result = new Dictionary <string, IEnumerable <BigInteger> >();

            do
            {
                string role = enumerator.Current.Role;
                if (role != null)
                {
                    var prerequisites = LoadPrerequisites(hashCode, role, enumerator).ToList();
                    result[role] = prerequisites;
                }
                else
                {
                    enumerator.MoveNext();
                }
            } while (enumerator.More && enumerator.Current.HashCode == hashCode);

            return(result);
        }
Exemplo n.º 33
0
        public void EmptySequence()
        {
            var e = new LookaheadEnumerator <char>("".GetEnumerator());

            Assert.IsFalse(e.MoveNext());
        }
        private static IEnumerable <BigInteger> LoadPrerequisites(BigInteger hashCode, string role, LookaheadEnumerator <MigrationHistoryRow> enumerator)
        {
            do
            {
                yield return(enumerator.Current.PrerequisiteHashCode);

                enumerator.MoveNext();
            } while (enumerator.More && enumerator.Current.HashCode == hashCode && enumerator.Current.Role == role);
        }