Exemple #1
0
 public void ConstructorBadParameters1(Codes code)
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         HistoricalProperty hp = new HistoricalProperty(code, null);
     });
 }
Exemple #2
0
        public void TestKonstruktorHistoricalProperty1(HistoricalProperty val)
        {
            HistoricalProperty hp = new HistoricalProperty(val.kod, val.HistoricalValue);

            Assert.AreEqual(hp.kod, val.kod);
            Assert.AreEqual(hp.HistoricalValue, val.HistoricalValue);
        }
        public void HistoricalPropertyGoodParameters(string code)
        {
            Mock <Value> valueMock = new Mock <Value>("2221", 1000);

            HistoricalProperty hp = new HistoricalProperty(code, valueMock.Object);

            Assert.AreEqual(hp.Code, code);
            Assert.AreEqual(hp.HistoricalValue, valueMock.Object);
        }
        public void HistoricalPropertyBadParameters()
        {
            Mock <Value> valueMock = new Mock <Value>("2222", 1000);

            Assert.Throws <ArgumentException>(() =>
            {
                HistoricalProperty hp = new HistoricalProperty("", valueMock.Object);
            });
        }
        public void HistoricalProperty01()
        {
            History history = new History();
            IntHolder ih = new IntHolder();
            ih.IP = 5;

            HistoricalProperty<int> ip = new HistoricalProperty<int>(history, ih, "IP");

            int s1 = history.TakeSnapshot();

            HistoricalStack<int> stack = new HistoricalStack<int>(history);

            ip.Value = 6;
            ip.Value = 7;
            stack.Push(ip.Value);

            int s2 = history.TakeSnapshot();

            stack.Push(++ip.Value);
            stack.Push(ip.Value = stack.Pop() * stack.Pop());

            int s3 = history.TakeSnapshot();

            history.RevertToSnapshot(s1);

            Assert.AreEqual(ih.IP, 5);
            Assert.IsTrue(stack.IsEmpty);

            history.RevertToSnapshot(s2);

            Assert.AreEqual(7, ih.IP);
            Assert.AreEqual(7, stack[0]);

            history.RevertToSnapshot(s3);

            Assert.AreEqual(56, ih.IP);
            Assert.AreEqual(56, stack[0]);

            // Once again
            history.RevertToSnapshot(s1);

            Assert.AreEqual(ih.IP, 5);
            Assert.IsTrue(stack.IsEmpty);

            history.RevertToSnapshot(s2);

            Assert.AreEqual(7, ih.IP);
            Assert.AreEqual(7, stack[0]);

            history.RevertToSnapshot(s3);

            Assert.AreEqual(56, ih.IP);
            Assert.AreEqual(56, stack[0]);
        }
Exemple #6
0
        public void ConstructorBadParameters(Codes code)
        {
            Mock <Value> value = new Mock <Value>();

            value.Object.Consumption            = 14.0;
            value.Object.Timestamp              = DateTime.Now;
            value.Object.GeographicalLocationId = Guid.NewGuid().ToString();
            Assert.Throws <ArgumentException>(() =>
            {
                HistoricalProperty hp = new HistoricalProperty(code, value.Object);
            });
        }
Exemple #7
0
        public void ConstructorGoodParameters(Codes code)
        {
            Mock <Value> value = new Mock <Value>();

            value.Object.Consumption            = 14.0;
            value.Object.Timestamp              = DateTime.Now;
            value.Object.GeographicalLocationId = Guid.NewGuid().ToString();
            HistoricalProperty hp = new HistoricalProperty(code, value.Object);

            Assert.AreEqual(code, hp.Code);
            Assert.AreEqual(value.Object, hp.HistoricalValue);
        }
Exemple #8
0
        public void CheckDeadbandDifferenceGoodParameters2(string code)
        {
            Mock <HistoricalProperty> hp = new Mock <HistoricalProperty>();

            historyMock = new Mock <Historical>();
            Historical         historyObj = historyMock.Object;
            HistoricalProperty hpObj      = hp.Object;

            hpObj.Code                      = code;
            hpObj.HistoricalValue           = new Value("1212", 1);
            hpObj.HistoricalValue.Timestamp = DateTime.Now;

            Assert.False(historyObj.CheckDeadBand(hpObj));
        }
Exemple #9
0
        public void ManualWriteToHistory()
        {
            Console.WriteLine("Unesite Code vrednost: ");
            object unosCode = Console.ReadLine().ToString();

            Console.WriteLine("Unesite Value vrednost: ");
            int unosValue = Int32.Parse(Console.ReadLine());

            if (unosCode.Equals((typeof(Codes))))
            {
                HistoricalProperty hd = new HistoricalProperty((Codes)unosCode, unosValue);
            }
            else
            {
                Console.WriteLine("Uneti Code ne pripada listi validnih Code-ova");
            }
            Logger l = new Logger();

            l.SentLog("WRITER", "REPLICATORSENDER", new Tuple <Codes, int>((Codes)unosCode, unosValue));
        }
Exemple #10
0
        public void SendToDumpingBuffer()
        {
            //call logger
            Operations op = generator.GenerateRandomOperation();

            lock (syncLock)
            {
                Logger.WriteLog("Sending to Dumping buffer", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name);
            }
            switch (op)
            {
            case Operations.ADD:
                dumpingBuffer.WriteToDumpingBuffer(op, generator.GenerateRandomCode(), generator.RandomNewValueGenerator());
                break;

            case Operations.UPDATE:
                HistoricalProperty hp = GetRandomHistoricalProperty();
                if (hp == null)
                {
                    break;
                }
                Value v = generator.RandomNewValueGenerator();
                v.GeographicalLocationId = hp.HistoricalValue.GeographicalLocationId;

                dumpingBuffer.WriteToDumpingBuffer(op, (Codes)hp.Code, v);
                break;

            case Operations.REMOVE:
                HistoricalProperty hp1 = GetRandomHistoricalProperty();
                if (hp1 == null)
                {
                    break;
                }
                dumpingBuffer.WriteToDumpingBuffer(op, (Codes)hp1.Code, hp1.HistoricalValue);
                //search through existing properties and remove a property
                break;
            }

            Thread.Sleep(2000);
        }
Exemple #11
0
 public void AddToList(HistoricalProperty hp)
 {
     listHistoricalProperty.Add(hp);
 }
Exemple #12
0
        public void EmptyConstructorTest()
        {
            HistoricalProperty historicalProperty = new HistoricalProperty();

            Assert.IsNotNull(historicalProperty);
        }
        public void ReceiveDataFromDumpingBuffer(DeltaCD dcd)
        {
            HistoricalDescription hd  = new HistoricalDescription();
            HistoricalProperty    hp1 = new HistoricalProperty();
            HistoricalProperty    hp2 = new HistoricalProperty();
            HistoricalProperty    hp3 = new HistoricalProperty();
            HistoricalProperty    hp4 = new HistoricalProperty();
            HistoricalProperty    hp5 = new HistoricalProperty();

            HistoricalProperty hp6 = new HistoricalProperty();



            hd.ID = dcd.TransactionID;


            foreach (DumpingProperty dp in dcd.collectionDescription.DataSetBuffer1)
            {
                hp1.Code            = dp.Code;
                hp1.HistoricalValue = dp.DumpingValue;
                hd.historicalProperties1.Add(hp1);
            }


            foreach (DumpingProperty dp in dcd.collectionDescription.DataSetBuffer2)
            {
                hp2.Code            = dp.Code;
                hp2.HistoricalValue = dp.DumpingValue;
                hd.historicalProperties2.Add(hp2);
            }


            foreach (DumpingProperty dp in dcd.collectionDescription.DataSetBuffer3)
            {
                hp3.Code            = dp.Code;
                hp3.HistoricalValue = dp.DumpingValue;
                hd.historicalProperties3.Add(hp3);
            }


            foreach (DumpingProperty dp in dcd.collectionDescription.DataSetBuffer4)
            {
                hp4.Code            = dp.Code;
                hp4.HistoricalValue = dp.DumpingValue;
                hd.historicalProperties4.Add(hp4);
            }


            foreach (DumpingProperty dp in dcd.collectionDescription.DataSetBuffer5)
            {
                hp5.Code            = dp.Code;
                hp5.HistoricalValue = dp.DumpingValue;
                hd.historicalProperties5.Add(hp5);
            }
            foreach (DumpingProperty dp in dcd.collectionDescription.DCollection)
            {
                hp6.Code            = dp.Code;
                hp6.HistoricalValue = dp.DumpingValue;
                hd.HProperties.Add(hp6);
            }
        }
Exemple #14
0
 public HistoricalThread()
 {
     _historicalPc = new HistoricalProperty<int>(GlobalHistory.Instance, this, "_pc");
 }
        /// <summary>
        /// Pomocna funkcija
        /// </summary>
        /// <param name="CD"></param>
        public void WriteToHistory(CollectionDescription CD)
        {
            historicalDesc       = new HistoricalDescription();
            historicalProperties = new List <HistoricalProperty>();

            //Prepakivanje u LD strukturu
            historicalDesc.ID      = CD.ID;
            historicalDesc.Dataset = CD.Dataset;

            foreach (DumpingProperty dp in CD.DumpingPropertyCollection.DumpingCollection)
            {
                tempProperty                 = new HistoricalProperty();
                tempProperty.Code            = dp.Code;
                tempProperty.HistoricalValue = dp.DumpingValue;
                tempProperty.Time            = DateTime.Now;

                valid = CheckDataset(tempProperty.Code);

                //Property ce biti dodat samo ako su Code i Dataset validni.
                if (valid)
                {
                    historicalProperties.Add(tempProperty);
                }
            }
            historicalDesc.HistoricalProperties = historicalProperties;

            //Dodaj u LD strukturu.
            if (historicalDesc.HistoricalProperties.Count == 2)     //bice 2 samo ako su oba prosla CheckDataset().
            {
                switch (dataset)
                {
                case 1:
                    LD1.ListHistoricalDesc.Add(historicalDesc);
                    write = CheckDeadband(LD1, false);

                    if (write)
                    {
                        //Ako izlazi iz Deadband-a, onda upisi
                        SaveToXML();
                    }
                    else
                    {
                        //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                        LD1.ListHistoricalDesc.Remove(historicalDesc);
                    }
                    break;

                case 2:
                    LD2.ListHistoricalDesc.Add(historicalDesc);
                    write = CheckDeadband(LD1, false);

                    if (write)
                    {
                        //Ako izlazi iz Deadband-a, onda upisi
                        SaveToXML();
                    }
                    else
                    {
                        //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                        LD2.ListHistoricalDesc.Remove(historicalDesc);
                    }
                    break;

                case 3:
                    LD3.ListHistoricalDesc.Add(historicalDesc);
                    write = CheckDeadband(LD1, false);

                    if (write)
                    {
                        //Ako izlazi iz Deadband-a, onda upisi
                        SaveToXML();
                    }
                    else
                    {
                        //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                        LD3.ListHistoricalDesc.Remove(historicalDesc);
                    }
                    break;

                case 4:
                    LD4.ListHistoricalDesc.Add(historicalDesc);
                    write = CheckDeadband(LD1, false);

                    if (write)
                    {
                        //Ako izlazi iz Deadband-a, onda upisi
                        SaveToXML();
                    }
                    else
                    {
                        //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                        LD4.ListHistoricalDesc.Remove(historicalDesc);
                    }
                    break;
                }
            }
        }
        /// <summary>
        /// Rucni upis u History. Writer salje Code i Value unesen rucno, koji se upisuju u LD strukturu.
        /// </summary>
        /// <param name="code"></param>
        /// <param name="value"></param>
        public void ManualWriteToHistory(Codes code, float value)
        {
            LoadLD();       //deserijalizacija LD struktura

            //Temp
            tempProperty         = new HistoricalProperty();
            historicalDesc       = new HistoricalDescription();
            historicalProperties = new List <HistoricalProperty>();

            tempProperty.Code            = code;
            tempProperty.HistoricalValue = value;
            tempProperty.Time            = DateTime.Now;
            historicalProperties.Add(tempProperty);

            historicalDesc.ID = Guid.NewGuid().ToString();
            CheckDataset(code);
            historicalDesc.Dataset = dataset;
            historicalDesc.HistoricalProperties = historicalProperties;

            switch (dataset)
            {
            case 1:
                LD1.ListHistoricalDesc.Add(historicalDesc);
                write = CheckDeadband(LD1, true);

                if (write)
                {
                    //Ako izlazi iz Deadband-a, onda upisi
                    SaveToXML();
                }
                else
                {
                    //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                    LD1.ListHistoricalDesc.Remove(historicalDesc);
                }
                break;

            case 2:
                LD2.ListHistoricalDesc.Add(historicalDesc);
                write = CheckDeadband(LD2, true);


                if (write)
                {
                    //Ako izlazi iz Deadband-a, onda upisi
                    SaveToXML();
                }
                else
                {
                    //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                    LD2.ListHistoricalDesc.Remove(historicalDesc);
                }
                break;

            case 3:
                LD3.ListHistoricalDesc.Add(historicalDesc);
                write = CheckDeadband(LD3, true);


                if (write)
                {
                    //Ako izlazi iz Deadband-a, onda upisi
                    SaveToXML();
                }
                else
                {
                    //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                    LD3.ListHistoricalDesc.Remove(historicalDesc);
                }
                break;

            case 4:
                LD4.ListHistoricalDesc.Add(historicalDesc);
                write = CheckDeadband(LD4, true);

                if (write)
                {
                    //Ako izlazi iz Deadband-a, onda upisi
                    SaveToXML();
                }
                else
                {
                    //Ako nije prosao Deadband, obrisi ga iz LD strukture.
                    LD4.ListHistoricalDesc.Remove(historicalDesc);
                }
                break;
            }
        }
Exemple #17
0
 public void RemoveFromList(HistoricalProperty hp)
 {
     listHistoricalProperty.Remove(hp);
 }