Esempio n. 1
0
        public void WriteToFile_PerformanceTests_StatisticsReturned()
        {
            //ARRANGE
            MemoryFileController myController = new MemoryFileController(Directory.GetCurrentDirectory());//Cronos.Instance.BackupMemoryFiles);

            var knowledge     = MemoryContentInitializer.CreateItemsAndLinkThem(new ItemLinkFactory());
            var testCharacter = CreateTestCharacter(knowledge);

            for (int i = 0; i <= 5; i++)
            {
                if (i > 0)
                {
                    testCharacter.AddContentToLongTermMemory(knowledge);
                }

                for (int k = 1; k <= 10; k++)
                {
                    Stopwatch timer = new Stopwatch();

                    timer.Start();
                    SerializeAndEncryptData(testCharacter);
                    timer.Stop();

                    Debug.Write((i + 1) + "\t" + timer.ElapsedMilliseconds);

                    timer.Restart();
                    DeserializeAndDecryptData(testCharacter);
                    timer.Stop();
                    Debug.Write("\t" + timer.ElapsedMilliseconds + "\r");

                    myController.DeleteFile(testCharacter.UniqueId);
                }
            }
        }
Esempio n. 2
0
        public void WriteToFile_MemoriesWithContent_MemoriesWrittenToFile()
        {
            //ARRANGE
            MemoryFileController myController = new MemoryFileController(Directory.GetCurrentDirectory());
            List <MemoryItem>    knowledge    = MemoryContentInitializer.CreateItemsAndLinkThem(new ItemLinkFactory());

            var testCharacter = CreateTestCharacter(knowledge);

            //ACT
            myController.WriteToFile(testCharacter.UniqueId, testCharacter.MyMemory);

            //Assert
            myController.FileExists(testCharacter.UniqueId);

            //Cleanup
            myController.DeleteFile(testCharacter.UniqueId);
        }
Esempio n. 3
0
        public void WriteToFile_MemoriesWithContent_MemoriesReadFromile()
        {
            //ARRANGE
            MemoryFileController myController = new MemoryFileController(Directory.GetCurrentDirectory());

            var testCharacter = CreateTestCharacter(MemoryContentInitializer.CreateItemsAndLinkThem(new ItemLinkFactory()));

            myController.WriteToFile(testCharacter.UniqueId, testCharacter.MyMemory);

            Stopwatch perfTime = new Stopwatch();

            perfTime.Start();

            //ACT
            var memory = myController.ReadFromFile(testCharacter.UniqueId);

            perfTime.Stop();
            Debug.Write("Time spent: " + perfTime.ElapsedMilliseconds);

            //Assert
            Assert.IsNotNull(memory);
            Assert.AreEqual(77, memory.HowManyThingsDoIknow());

            var knowledge = memory.WhatDoIKnow();

            Assert.IsTrue(knowledge[0].ItemType == MemoryItemType.Person);
            Assert.IsTrue(knowledge[1].ItemType == MemoryItemType.Person);
            Assert.IsTrue(knowledge[7].ItemType == MemoryItemType.PastEvent);
            Assert.IsTrue(knowledge[9].ItemType == MemoryItemType.PastEvent);
            Assert.IsTrue(knowledge[16].ItemType == MemoryItemType.Place);
            Assert.IsTrue(knowledge[21].ItemType == MemoryItemType.Place);
            Assert.IsTrue(knowledge[27].ItemType == MemoryItemType.Organization);
            Assert.IsTrue(knowledge[32].ItemType == MemoryItemType.Occupation);
            Assert.IsTrue(knowledge[39].ItemType == MemoryItemType.PersonalRelationship);
            Assert.IsTrue(knowledge[40].ItemType == MemoryItemType.Association);
            Assert.IsTrue(knowledge[46].ItemType == MemoryItemType.EventRelationship);
            Assert.IsTrue(knowledge[51].ItemType == MemoryItemType.PersonalTie);
            Assert.IsTrue(knowledge[54].ItemType == MemoryItemType.PlaceRelationship);
            Assert.IsTrue(knowledge[57].ItemType == MemoryItemType.OccupationalTie);

            //Cleanup
            myController.DeleteFile(testCharacter.UniqueId);
        }
Esempio n. 4
0
        private void DeserializeAndDecryptData(global::RNPC.Core.Character testCharacter)
        {
            MemoryFileController myController = new MemoryFileController(Directory.GetCurrentDirectory());

            myController.ReadFromFile(testCharacter.UniqueId);
        }
Esempio n. 5
0
        private void SerializeAndEncryptData(global::RNPC.Core.Character testCharacter)
        {
            MemoryFileController myController = new MemoryFileController(Directory.GetCurrentDirectory());

            myController.WriteToFile(testCharacter.UniqueId, testCharacter.MyMemory);
        }