public void PosaljiCenu()
        {
            IElektrodistribucija iele = new ElektrodistribucijaMetode();
            double rez = iele.PosaljiCenu();

            Assert.IsNotNull(rez);
        }
        public void PreuzmiRazlikuDobriParametri(double?razlika)
        {
            IElektrodistribucija iele = new ElektrodistribucijaMetode();

            Assert.DoesNotThrow(() =>
            {
                iele.PreuzmiRazliku(razlika, e);
            });
        }
        public void PreuzmiRazlikuLosiParametri2(double?razlika)
        {
            IElektrodistribucija iele = new ElektrodistribucijaMetode();

            Assert.Throws <ArgumentNullException>(() =>
            {
                iele.PreuzmiRazliku(razlika, e);
            });
        }
예제 #4
0
        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);
            }
        }