public void ElektrodistribucijaLosiParametri1(double?cena) { Assert.Throws <ArgumentException>(() => { Elektrodistribucija e = new Elektrodistribucija(cena); }); }
public void ElektrodistribucijaKonstruktorDobriParametri() { Elektrodistribucija distribucija = new Elektrodistribucija(); Assert.AreEqual(distribucija.Cena, 1); Assert.AreEqual(distribucija.SnagaRazmene, 0); }
public void ElektrodistribucijaKonstruktorLosiParametri(double cenaPokWh) { Assert.Throws <ArgumentOutOfRangeException>(() => { Elektrodistribucija elektrodistribucija = new Elektrodistribucija(cenaPokWh); }); }
public void PreuzmiRazlikuLosiParametri(double?razlika, Elektrodistribucija el) { IElektrodistribucija iele = new ElektrodistribucijaMetode(); Assert.Throws <ArgumentNullException>(() => { iele.PreuzmiRazliku(razlika, el); }); }
public void RacunanjeSnageRazmene(ISolarniPanel panel, Elektrodistribucija e) { //shes treba da izracuna razliku potrosnje i proizvodnje / pozitivno - trosak za shes / negativno - prodaja double proizvodnjaPanela; double potrosnjaPotrosaca; double potrosnjaProizvodnjaBaterije; double razlikaPotrosnjaProizvodnja; IElektrodistribucija Ielektrodistr = new ElektrodistribucijaMetode(); int snagaRazmene; List <SolarniPanel> solarniPaneli; List <Potrosac> potrosaci; List <Baterija> baterije; int rezim; double vreme = Double.Parse(ConfigurationManager.AppSettings["sekunde"]) / 3600; while (true) { solarniPaneli = PreuzmiSolarnePanele(); potrosaci = VratiListuPotrosaca(); baterije = PreuzmiBaterijeIzBaze(); rezim = ValidacijaVremenaZaRezim(); StanjePotrosacaa(potrosaci); proizvodnjaPanela = ProizvodnjaSolarnihPanela(panel, solarniPaneli, vreme); potrosnjaPotrosaca = PotrosnjaPotrosaca(potrosaci); potrosnjaProizvodnjaBaterije = PotrosnjaProizvodnjaBaterije(baterije, vreme); if (rezim == 1) //ako je rezim 1 baterija je potrosac { razlikaPotrosnjaProizvodnja = (potrosnjaProizvodnjaBaterije + potrosnjaPotrosaca) - proizvodnjaPanela; } else if (rezim == 2) //ako je rezim 2 baterija je proizvodjac { razlikaPotrosnjaProizvodnja = potrosnjaPotrosaca - (proizvodnjaPanela + potrosnjaProizvodnjaBaterije); } else //ako je rezim 0 nista { razlikaPotrosnjaProizvodnja = potrosnjaPotrosaca - proizvodnjaPanela; } Ielektrodistr.PreuzmiRazliku(razlikaPotrosnjaProizvodnja, e); //saljem u elektrodistr double cena = Ielektrodistr.PosaljiCenu(); //primi cenu if (razlikaPotrosnjaProizvodnja >= 0) //ako je snaga razmene pozitivna to je trosak { snagaRazmene = 1; } else { snagaRazmene = -1; } SacuvajElektroDistribucijaPodatke(shes.Vreme, snagaRazmene, cena); Thread.Sleep(1000); } }
static void Main(string[] args) { //main je takodje tred Console.WriteLine("SHES POKRENUT"); Thread.Sleep(5000); Shes s1 = Shes.Instance(); //novi tred za vreme Thread vreme = new Thread(() => s1.UbrzajVreme(ConfigurationManager.AppSettings["sekunde"])); vreme.Start(); IShes Ishes = new ShesRepozitorijum(); ShesMetode shes = new ShesMetode(Ishes); ISolarniPanel ISolarniPanel = new SolarniPanelMetode(); IPotrosac Ipotrosac = new PotrosacMetode(); //novi tred za merenje snage panela Thread merenjeSnagePanela = new Thread(ISolarniPanel.IzmeriSnagePanela); merenjeSnagePanela.Start(); IBaterija IBaterija = new BaterijaMetode(); //tred za komande bateriji Thread posaljiKomandu = new Thread(() => shes.PosaljiKomanduNaBateriju(IBaterija)); posaljiKomandu.Start(); //tred za bateriju Thread baterija = new Thread(IBaterija.RukovanjeKapacitetom); baterija.Start(); //tred za merenje snage razmene Elektrodistribucija e = new Elektrodistribucija(3.8); //cena Thread snagaRazmene = new Thread(() => shes.RacunanjeSnageRazmene(ISolarniPanel, e)); snagaRazmene.Start(); Thread a = new Thread(() => s1.KorisnickiMeni(ISolarniPanel, shes, Ipotrosac, e.Cena)); a.Start(); }
public MainWindow() { connectionString = ConfigurationManager.ConnectionStrings["SHES.Properties.Settings.BazaPodatakaConnectionString"].ConnectionString; Baterije = new BindingList <Baterija>(); Potrosaci = new BindingList <Potrosac>(); SolarniPaneli = new BindingList <SolarniPanel>(); ElektricniAutomobili = new BindingList <ElektricniAutomobil>(); autoBaterije = new List <Baterija>(); Datumi = new BindingList <Datum>(); SnagaSunca = 0; cenovnik = 0; Punjac = new Punjac(); jednaSekundaJe = int.Parse(ConfigurationManager.AppSettings["jednaSekundaJe"]); distribucija = new Elektrodistribucija(); podaciZaGraf = new List <PodaciZaGraf>(); metode = new Metode(new MetodeRepozitorijum()); InitializeComponent(); metode.UcitajUredjaje(); Labels = new[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24" }; Formatter = value => value.ToString("N"); metode.UcitajDatume(); metode.UcitajPoslednjiSat(); labelCenovnik.Content = cenovnik + " $"; labelSnagaSunca.Content = SnagaSunca.ToString(); PodesiSnaguSunca(SnagaSunca); labelSnagaSunca.Foreground = Brushes.Black; labelSnagaRazmene.Content = distribucija.SnagaRazmene.ToString(); labelCena.Content = distribucija.Cena.ToString(); Thread pokreniServer = new Thread(() => PokreniServer()); pokreniServer.IsBackground = true; pokreniServer.Start(); Thread azuriranje = new Thread(() => Azuriranje()); azuriranje.IsBackground = true; azuriranje.Start(); DataContext = this; }
public void ElektrodistribucijaGRanicniParametri(double?cena) { Elektrodistribucija e = new Elektrodistribucija(cena); Assert.AreEqual(e.Cena, cena); }
public void TearDown() { e = null; }
public void SetUp() { e = new Elektrodistribucija(25.3); }
public void ElektrodistribucijaKonstruktorDobriParametri(double cenaPokWh) { Elektrodistribucija elektrodistribucija = new Elektrodistribucija(cenaPokWh); Assert.AreEqual(elektrodistribucija.CenaPokWh, cenaPokWh); }