public void CalculationPackage_FromString_PrazanString() { Assert.Throws <IndexOutOfRangeException>(() => { CalculationPackage cp = new CalculationPackage(); cp.FromString(" "); }); }
public void CalculationPackage_ToString_Ispravan(string tekst) { CalculationPackage cp = new CalculationPackage(ispravanDatum, 255.16, VrstaProracuna.MAKSIMALNI); cp.PosVreme = ispravanDatum; Assert.AreEqual(tekst, cp.ToString()); }
public void CalculationPackage_FromString_NeispravanDatumFormat(string tekst) { Assert.Throws <ArgumentNullException>(() => { CalculationPackage cp = new CalculationPackage(); cp.FromString(tekst); }); }
[TestCase("59/45/22/28/10/2020-59/45/22/28/10/2020-sasasas-MAKSIMALNI")] //NE VALJA KONVERZIJA VREDNOSTI MERENJA public void CalculationPackage_FromString_NeispravanDatumBroj(string tekst) { Assert.Throws <ArgumentOutOfRangeException>(() => { CalculationPackage cp = new CalculationPackage(); cp.FromString(tekst); }); }
public void CalculationPackage_Konstruktor_DobriParametri(double vrednost, VrstaProracuna vrsta) { CalculationPackage cp = new CalculationPackage(ispravanDatum, vrednost, vrsta); Assert.AreEqual(vrednost, cp.Rezultat); Assert.AreEqual(vrsta, cp.VrstaProracuna); Assert.AreEqual(ispravanDatum, cp.VremeProracuna); }
public void DataAccessCommunication_SendMessage_Ispravan_SlanjePaketaDa() { List <ClientPackage> lista = new List <ClientPackage>(); CalculationPackage paket = new CalculationPackage(); //public static void SendMessage(ref List<ClientPackage> compack,DateTime dat,bool slanje_paketa,CalculationPackage packetOut) string teststring = "Poruka uspesno poslata"; var output = new StringWriter(); Console.SetOut(output); CalculationFunctions.DataAccessCommunication.SendMessage(ref lista, ispravanDatum, true, paket); Assert.AreEqual(output.ToString(), teststring); }
public List <ClientPackage> RetrieveCalculations(bool slanje_paketa, CalculationPackage packetOut) { List <ClientPackage> kalkulacije = new List <ClientPackage>(); Int32 portDataAccess = 10010; DataAccessCommunication dac = new DataAccessCommunication(portDataAccess, IPAddress.Parse("127.0.0.1")); DateTime datum = new DateTime(); var th1 = new Thread(() => DataAccessCommunication.SendMessage(ref kalkulacije, datum, slanje_paketa, packetOut)); th1.IsBackground = true; th1.Start(); return(kalkulacije); }
public void CalculationPackage_FromString_Ispravan(string tekst) { CalculationPackage cpkontrolni = new CalculationPackage(ispravanDatum, 255.16, VrstaProracuna.MAKSIMALNI); cpkontrolni.PosVreme = ispravanDatum; CalculationPackage cptest = new CalculationPackage(); cptest.FromString(tekst); Assert.AreEqual(cpkontrolni.PosVreme, cptest.PosVreme); Assert.AreEqual(cpkontrolni.VremeProracuna, cptest.VremeProracuna); Assert.AreEqual(cpkontrolni.VrstaProracuna, cptest.VrstaProracuna); Assert.AreEqual(cpkontrolni.Rezultat, cptest.Rezultat); }
public void SetUp() { calcPack = new CalculationPackage(ispravanDatum, 245.16, VrstaProracuna.MINIMALNI); ispravanDatum = new DateTime(2020, 10, 28, 22, 45, 59); ch = new Calculation(); ClientPackage cp = new ClientPackage(); cp.Datum = ispravanDatum; cp.Potrosnja = 256.36; cp.Region = "VOJVODINA"; ispravnalista.Add(cp); cp = new ClientPackage(); cp.Datum = new DateTime(2020, 6, 15, 15, 59, 59); cp.Potrosnja = 3636.36; cp.Region = "MACVA"; ispravnalista.Add(cp); }
public static void SendInfoToInsert_Calculation(CalculationPackage cp) { string responseData = ""; IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 20000); TcpClient client = new TcpClient(iPEndPoint); NetworkStream ns = client.GetStream(); string poruka = "Calculation_Update;" + cp.ToString(); Byte[] data = System.Text.Encoding.ASCII.GetBytes(poruka); ns.Write(data, 0, data.Length); Int32 bytes = ns.Read(data, 0, data.Length); responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); ns.Close(); client.Close(); }
public static void ReceiveMessage() { try { DataBaseCommunication dbc = new DataBaseCommunication(); clh = new TcpListener(IPAddress.Parse("127.0.0.1"), 10010); clh.Start(); Byte[] bytes = new Byte[256]; String data = null; DateTime datum = new DateTime(); while (true) { Console.Write("Waiting for a connection... "); // Perform a blocking call to accept requests. TcpClient client = clh.AcceptTcpClient(); Console.WriteLine("Connected!"); data = null; // Get a stream object for reading and writing NetworkStream stream = client.GetStream(); int i; // Loop to receive all the data sent by the client. while ((i = stream.Read(bytes, 0, bytes.Length)) != 0) { // Translate data bytes to a ASCII string. data = System.Text.Encoding.ASCII.GetString(bytes, 0, i); Console.WriteLine("Received: {0}", data); string[] provera = data.Split(';'); if (provera[0].Equals("Kalkulacija")) { CalculationPackage cp = new CalculationPackage(); cp.FromString(provera[1]); var t1 = new Thread(() => DataBaseCommunication.SendInfoToInsert_Calculation(cp)); t1.Start(); string odgovor = "Dodato"; bytes = System.Text.Encoding.ASCII.GetBytes(odgovor); stream.Write(bytes, 0, bytes.Length); } else { //5/1/2008 6:32:06 PM //Dodati if sa proverom posiljke od CalculationHandlera string[] vreme = data.Split('/'); //vreme[0] - godina, vreme[1] - mesec, vreme[2] - dan, vreme[3] - sat, vreme[4] - minut, vreme[5] - sekund; datum = new DateTime(Int32.Parse(vreme[0]), Int32.Parse(vreme[1]), Int32.Parse(vreme[2]), Int32.Parse(vreme[3]), Int32.Parse(vreme[4]), Int32.Parse(vreme[5])); string odgovor = ""; //IZDVOJEN DATUM, OVDE TREBA DA SE POZIVA FUNKCIJA KOJA CE DA RETRIEVE LISTU PO OVOM DATUMU var t1 = new Thread(() => DataBaseCommunication.AskForList(datum, ref odgovor, false)); t1.Start(); //VRACANJE LISTE PRETABANE U STRING bytes = System.Text.Encoding.ASCII.GetBytes(odgovor); stream.Write(bytes, 0, bytes.Length); } } // Shutdown and end connection client.Close(); } } catch (SocketException e) { Console.WriteLine("SocketException: {0}", e); } finally { // Stop listening for new clients. clh.Stop(); } }
public void CalculationPackage_Konstruktor_NeispravnaVrsta(double vrednost, VrstaProracuna vrsta) { Assert.Throws <ArgumentOutOfRangeException>(() => { CalculationPackage cp = new CalculationPackage(ispravanDatum, vrednost, vrsta); }); }
static void Main(string[] args) { Calculation c = new Calculation(); TcpListener server = null; Int32 port = 10003; IPAddress localAddr = IPAddress.Parse("127.0.0.1"); try { server = new TcpListener(localAddr, port); // Start listening for client requests. server.Start(); // Buffer for reading data Byte[] bytes = new Byte[256]; String data = null; bool trigger = false; // Enter the listening loop. while (true) { Console.Write("Waiting for a connection... "); // Perform a blocking call to accept requests. TcpClient client = server.AcceptTcpClient(); Console.WriteLine("Connected!"); data = null; // Get a stream object for reading and writing NetworkStream stream = client.GetStream(); int i; // Loop to receive all the data sent by the client. while ((i = stream.Read(bytes, 0, bytes.Length)) != 0) { // Translate data bytes to a ASCII string. data = System.Text.Encoding.ASCII.GetString(bytes, 0, i); Console.WriteLine("Received: {0}", data); trigger = true; if (trigger) { //primamo string formatiran unutar override metode toString klase ClientPackage List <double> listaMerenja = new List <double>(); CalculationPackage paketOut = new CalculationPackage(); List <ClientPackage> unosi_baza = c.RetrieveCalculations(false, paketOut); List <string> unosi = new List <string>(unosi_baza.Count); foreach (ClientPackage cp in unosi_baza) { unosi.Add(cp.ToString()); } int k = 0; while (listaMerenja.Count != unosi.Count) { string[] delovi = unosi[k].Split('-'); //radimo sa DateTime delom string[] datumpodaci = delovi[0].Split('/'); int sekunde = 0, minuti = 0, sati = 0, dani = 0, meseci = 0, godine = 0; Int32.TryParse(datumpodaci[0], out sekunde); Int32.TryParse(datumpodaci[1], out minuti); Int32.TryParse(datumpodaci[2], out sati); Int32.TryParse(datumpodaci[3], out dani); Int32.TryParse(datumpodaci[4], out meseci); Int32.TryParse(datumpodaci[0], out godine); DateTime datum = new DateTime(godine, meseci, dani, sati, minuti, sekunde); paketOut.VremeProracuna = datum; //radimo sa vrednosti potrosnje double potrosnja = 0; Double.TryParse(delovi[2], out potrosnja); listaMerenja.Add(potrosnja); paketOut.PosVreme = DateTime.Now; if (data.Equals("min")) { paketOut.Rezultat = listaMerenja.Min(); paketOut.VrstaProracuna = VrstaProracuna.MINIMALNI; } //Maximum if (data.Equals("max")) { paketOut.Rezultat = listaMerenja.Max(); paketOut.VrstaProracuna = VrstaProracuna.MAKSIMALNI; } //Prosek if (data.Equals("average")) { paketOut.Rezultat = listaMerenja.Average(); paketOut.VrstaProracuna = VrstaProracuna.PROSECNI; } k++; if (k == unosi.Count) { k = 0; } } //Slanje paketOut-a na upis u bazu podataka unosi_baza = c.RetrieveCalculations(true, paketOut); trigger = false; } } } } catch (SocketException e) { Console.WriteLine("SocketException: {0}", e); } finally { // Stop listening for new clients. server.Stop(); } Console.WriteLine("\nHit enter to continue..."); Console.Read(); }