internal IQueueItem ExecGet(IQueueMessage request) { if (request.Host == null) { throw new MessageException(MessageState.InvalidMessageHost, "Invalid message.Host "); } MQueue Q = Get(request.Host); if (Q == null) { throw new MessageException(MessageState.InvalidMessageHost, "message.HostName not found " + request.Host); } switch (request.QCommand) { case QueueCmd.Dequeue: return(Q.Dequeue()); case QueueCmd.DequeuePriority: return(Q.Dequeue(request.Priority)); case QueueCmd.Peek: return(Q.Peek()); case QueueCmd.PeekPriority: return(Q.Peek(request.Priority)); } return(null); }
static void Main(string[] args) { MQueue queue = new MQueue(); for (int i = 0; i < 5; i++) { queue.Enqueue(i); } while (true) { Console.WriteLine("Нажмите любую клавишу..."); queue.Dequeue(); queue.Enqueue(new Random().Next(-10, 10)); ConsoleKeyInfo c = Console.ReadKey(); Console.Clear(); Console.WriteLine("Состояние очереди:"); foreach (var item in queue) { Console.Write("{0}\t", item); } Console.WriteLine("\nМинимум:{0}\nМаксимум:{1}", queue.Min(), queue.Max()); } }
public void TestMinMax2() { MQueue queue = new MQueue(); queue.Enqueue(7, 0, 1); Assert.AreEqual(0, queue.Min()); Assert.AreEqual(7, queue.Max()); queue.Dequeue(); Assert.AreEqual(0, queue.Min()); Assert.AreEqual(1, queue.Max()); queue.Dequeue(); Assert.AreEqual(1, queue.Min()); Assert.AreEqual(1, queue.Max()); }
public void TestMinMax1() { MQueue queue = new MQueue(); queue.Enqueue(1, 2, 3); Assert.AreEqual(1, queue.Min()); Assert.AreEqual(3, queue.Max()); queue.Dequeue(); Assert.AreEqual(2, queue.Min()); Assert.AreEqual(3, queue.Max()); queue.Dequeue(); Assert.AreEqual(3, queue.Min()); Assert.AreEqual(3, queue.Max()); }
public void TestEnqueueDequeue2(int[] items) { MQueue queue = new MQueue(); queue.Enqueue(items); for (int i = 0; i < items.Length; i++) { Assert.AreEqual(items[i], queue.Dequeue()); } }
internal IQueueItem ExecGet(QueueMessage request) { try { MQueue Q = Get(request.Host); if (Q == null) { throw new MessageException(MessageState.InvalidMessageHost, "message.Host is invalid " + request.Host); } switch (request.Command) { case QueueCmd.Dequeue: return(Q.Dequeue()); case QueueCmd.DequeuePriority: return(Q.Dequeue(request.Priority)); case QueueCmd.Peek: return(Q.Peek()); case QueueCmd.PeekPriority: return(Q.Peek(request.Priority)); } } catch (MessageException mex) { QLogger.ErrorFormat("ExecGet MessageException: " + mex.Message); } catch (ArgumentException ase) { QLogger.ErrorFormat("ExecGet ArgumentException: " + ase.Message); } catch (SerializationException se) { QLogger.ErrorFormat("ExecGet SerializationException: " + se.Message); } catch (Exception ex) { QLogger.ErrorFormat("ExecGet Exception: " + ex.Message); } return(null); }
private void NewValue() { mutex.WaitOne(); int item = random.Next(-10, 10); queue.Dequeue(); queue.Enqueue(item); tbLastTen.Text = ""; foreach (var i in queue) { tbLastTen.Text += i.ToString() + " "; } mutex.ReleaseMutex(); }