public void StartSendingData(ReplicatorSender.ReplicatorSender replicatorSender) { t = new Thread(() => SendData(replicatorSender)); t.IsBackground = true; t.Start(); Thread.Sleep(15); }
public void ReplicatorSender_EmptyConstructor_ReturnsDefaults() { var result = new ReplicatorSender.ReplicatorSender(); var hcollection = new HistoricalCollection(); bool equal = !hcollection.ReceiverPropertyArray.Except(result.Data.ReceiverPropertyArray).Any(); Assert.IsTrue(equal); }
public void ReplicatorSender_ToString_Test() { var list = new List <ReceiverProperty> { new ReceiverProperty(ECode.CODE_ANALOG, 0), new ReceiverProperty(ECode.CODE_DIGITAL, 7) }; var result = new ReplicatorSender.ReplicatorSender { Data = new HistoricalCollection(list) }; Assert.IsTrue(result.ToString() == "Sender data:\nCODE_ANALOG 0\nCODE_DIGITAL 7\n"); }
public void StartSendingDataTest() { try { WriterSvc writerSvc = new WriterSvc(); ReplicatorSender.ReplicatorSender sender = new ReplicatorSender.ReplicatorSender(); writerSvc.StartSendingData(sender); writerSvc.StopSendingData(); } catch (Exception) { Assert.Fail(); } Assert.Pass(); }
public void SendData(ReplicatorSender.ReplicatorSender replicatorSender) { while (true) { lock (this) { try { GenerateRandomValue(); replicatorSender.Data.ReceiverPropertyArray.Add(new ReceiverProperty(code, value)); Logger.Log(LogComponent.WRITER, LogComponent.REPLICATOR_SENDER, DateTime.Now, code.ToString() + "_" + value); } catch (Exception) { Logger.LogError(LogComponent.WRITER, DateTime.Now); } Thread.Sleep(2000); } } }
public void StartForwardingData_Test() { try { ReplicatorSender.ReplicatorSender sender = new ReplicatorSender.ReplicatorSender(); ReplicatorReceiver.ReplicatorReceiver replicatorReceiver = new ReplicatorReceiver.ReplicatorReceiver(); sender.service.StartForwardingData(sender, replicatorReceiver); Thread.Sleep(500); sender.service.StopForwardingData(); // Data.Count = 1 sender.Data = new HistoricalCollection( new List <ReceiverProperty> { new ReceiverProperty(ECode.CODE_ANALOG, 1001) } ); sender.service.StartForwardingData(sender, replicatorReceiver); Thread.Sleep(500); sender.service.StopForwardingData(); // Data.Count = 2 sender.Data = new HistoricalCollection( new List <ReceiverProperty> { new ReceiverProperty(ECode.CODE_ANALOG, 1001), new ReceiverProperty(ECode.CODE_ANALOG, 1002) } ); sender.service.StartForwardingData(sender, replicatorReceiver); Thread.Sleep(500); sender.service.StopForwardingData(); //// sender.Data.ReceiverPropertyArray[0] = null //sender.Data.ReceiverPropertyArray[0] = null; //sender.service.StartForwardingData(sender, replicatorReceiver); //sender.Data = new HistoricalCollection( // new List<ReceiverProperty> // { // new ReceiverProperty(Code.CODE_ANALOG, 1001), // new ReceiverProperty(Code.CODE_ANALOG, 1002) // } // ); //Thread.Sleep(500); //sender.service.StopForwardingData(); //sender.Data.ReceiverPropertyArray[1] = null; //sender.service.StartForwardingData(sender, replicatorReceiver); //sender.Data = new HistoricalCollection( // new List<ReceiverProperty> // { // new ReceiverProperty(Code.CODE_ANALOG, 1001), // new ReceiverProperty(Code.CODE_ANALOG, 1002) // } // ); //sender.service.StartForwardingData(sender, replicatorReceiver); //Thread.Sleep(500); //sender.service.StopForwardingData(); } catch (Exception) { Assert.Fail(); } Assert.Pass(); //// Data.Count = 2, dataset 1 //sender.Data = new HistoricalCollection( // new List<ReceiverProperty> // { // new ReceiverProperty(Code.CODE_ANALOG, 1001), // new ReceiverProperty(Code.CODE_DIGITAL, 0) // } // ); //sender.service.ForwardDataToReceiver(sender, replicatorReceiver); //// Data.Count = 2, dataset 2 //sender.Data = new HistoricalCollection( // new List<ReceiverProperty> // { // new ReceiverProperty(Code.CODE_CUSTOM, 3300), // new ReceiverProperty(Code.CODE_LIMITSET, 4400) // } // ); //sender.service.ForwardDataToReceiver(sender, replicatorReceiver); //// Data.Count = 2, dataset 3 //sender.Data = new HistoricalCollection( // new List<ReceiverProperty> // { // new ReceiverProperty(Code.CODE_SINGLENODE, 6232), // new ReceiverProperty(Code.CODE_MULTIPLENODE, 5323) // } // ); //sender.service.ForwardDataToReceiver(sender, replicatorReceiver); //// Data.Count = 2, dataset 4 //sender.Data = new HistoricalCollection( // new List<ReceiverProperty> // { // new ReceiverProperty(Code.CODE_CONSUMER, 7999), // new ReceiverProperty(Code.CODE_SOURCE, 2000) // } // ); }
static void Main(string[] args) { Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")); // Writers Dictionary <int, Writer.Writer> writers = new Dictionary <int, Writer.Writer>(); // Readers Dictionary <int, Reader.Reader> readers = new Dictionary <int, Reader.Reader>(); Reader.Reader rd1 = new Reader.Reader(1); Reader.Reader rd2 = new Reader.Reader(2); Reader.Reader rd3 = new Reader.Reader(3); Reader.Reader rd4 = new Reader.Reader(4); readers.Add(1, rd1); readers.Add(2, rd2); readers.Add(3, rd3); readers.Add(4, rd4); // Sender ReplicatorSender.ReplicatorSender s = new ReplicatorSender.ReplicatorSender(); // Receiver ReplicatorReceiver.ReplicatorReceiver r = new ReplicatorReceiver.ReplicatorReceiver(readers); s.service.StartForwardingData(s, r); while (true) { System.Console.WriteLine("-------------------------------"); System.Console.WriteLine("0 - Exit"); System.Console.WriteLine("1 - Turn off writer"); System.Console.WriteLine("2 - Show writers"); System.Console.WriteLine("3 - Start new writer"); System.Console.WriteLine("4 - Start 100 writers"); System.Console.WriteLine("5 - Read data form database: "); System.Console.WriteLine("-------------------------------"); string c = System.Console.ReadLine(); System.Console.WriteLine(); if (c == "0") { foreach (var item in writers.Keys) { writers[item].StopSendingData(); } break; } else if (c == "1") { System.Console.WriteLine("Writer No: "); int number; try { number = int.Parse(System.Console.ReadLine()); writers[number].StopSendingData(); writers.Remove(number); System.Console.WriteLine($"Writer {number} has been turned off.\n"); } catch (Exception) { System.Console.WriteLine("Writer with that ID doesn't exist!"); } } else if (c == "2") { System.Console.WriteLine("Writer list:"); foreach (var item in writers.Values) { System.Console.WriteLine($"\tWriter {item.ID}"); } } else if (c == "3") { writerCounter++; writers.Add(writerCounter, new Writer.Writer(writerCounter)); writers[writerCounter].StartSendingData(s); } else if (c == "4") { for (int i = 0; i < 100; i++) { writerCounter++; writers.Add(writerCounter, new Writer.Writer(writerCounter)); writers[writerCounter].StartSendingData(s); } } else if (c == "5") { System.Console.WriteLine("Choose code: \n"); System.Console.WriteLine("1) CODE_ANALOG: "); System.Console.WriteLine("2) CODE_DIGITAL: "); System.Console.WriteLine("3) CODE_CUSTOM: "); System.Console.WriteLine("4) CODE_LIMITSET: "); System.Console.WriteLine("5) CODE_SINGLENODE: "); System.Console.WriteLine("6) CODE_MULTIPLENODE: "); System.Console.WriteLine("7) CODE_CONSUMER: "); System.Console.WriteLine("8) CODE_SOURCE: "); int code_option = 0; try { code_option = int.Parse(System.Console.ReadLine()); if (code_option < 1 && code_option > 8) { System.Console.WriteLine("Wrong input!"); break; } } catch (Exception) { System.Console.WriteLine("Wrong input!"); break; } System.Console.WriteLine("From: "); string dateFrom = System.Console.ReadLine(); System.Console.WriteLine("To: "); string dateTo = System.Console.ReadLine(); switch (code_option) { case 1: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_ANALOG, 1, rd1._context, dateFrom, dateTo)); break; case 2: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_DIGITAL, 1, rd1._context, dateFrom, dateTo)); break; case 3: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_CUSTOM, 2, rd2._context, dateFrom, dateTo)); break; case 4: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_LIMITSET, 2, rd2._context, dateFrom, dateTo)); break; case 5: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_SINGLENODE, 3, rd3._context, dateFrom, dateTo)); break; case 6: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_MULTIPLENODE, 3, rd3._context, dateFrom, dateTo)); break; case 7: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_CONSUMER, 4, rd4._context, dateFrom, dateTo)); break; case 8: System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_SOURCE, 4, rd4._context, dateFrom, dateTo)); break; default: System.Console.WriteLine("Wrong input"); break; } } else { System.Console.WriteLine("Wrong input!"); } } System.Console.ReadLine(); }
public void StartSendingData(ReplicatorSender.ReplicatorSender sender) { service.StartSendingData(sender); }