コード例 #1
0
        public void SaveandLoadNormally()
        {
            SaveContainer.Data data         = CreateDummyData(12);
            string             fileLocation = @"C:\scanimage\testFile.test";

            //ensure that the file doesn't already exist
            if (File.Exists(fileLocation))
            {
                File.Delete(fileLocation);
            }

            SaveContainer.Conf = data;
            SaveContainer.Save(fileLocation);

            Assert.IsTrue(File.Exists(fileLocation));

            //check that the loaded file is identicle
            SaveContainer.Conf = new SaveContainer.Data().Default();
            SaveContainer.Data loadData = SaveContainer.Load(fileLocation);
            File.Delete(fileLocation);

            Assert.IsTrue(loadData.CameraCount == data.CameraCount);
            for (int i = 0; i < loadData.CameraCount; i++)
            {
                Assert.IsTrue(data.Cameras[i].Address == loadData.Cameras[i].Address);
                Assert.IsTrue(data.Cameras[i].Id == loadData.Cameras[i].Id);
                Assert.IsTrue(data.Cameras[i].Port == loadData.Cameras[i].Port);
                Assert.IsTrue(data.Cameras[i].CamFileIdentity == loadData.Cameras[i].CamFileIdentity);
            }
        }
コード例 #2
0
        public void InvalidLoad()
        {
            string save = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "testSave";

            SaveContainer.CustomSaveDirectory = save;
            try
            {
                if (File.Exists(save))
                {
                    File.Delete(save);
                }

                SaveContainer.Data config = SaveContainer.Load();
                Assert.True(config.Equals(new SaveContainer.Data().Default()));
            }
            catch (Exception)
            {
                Assert.Fail("Shouldn't throw an error");
            }
            finally
            {
                if (File.Exists(save))
                {
                    File.Delete(save);
                }
            }
        }
コード例 #3
0
        public void DataTest()
        {
            SaveContainer.Data testObject = new SaveContainer.Data();

            //uninitialised
            Assert.IsTrue(testObject.Cameras == null);
            Assert.IsTrue(testObject.CameraCount == 0);

            testObject = new SaveContainer.Data().Default();

            //size test
            //Assert.IsTrue(testObject.Cameras.Length == 1);
            Assert.AreEqual(testObject.Cameras.Length, testObject.CameraCount);
        }
コード例 #4
0
        public void AlternateSave()
        {
            #region initialise
            SaveContainer.CustomSaveDirectory = SaveContainer.DefaultSaveDirectory;
            SaveContainer.Data testCase = new SaveContainer.Data
            {
                Cameras = new[]
                {
                    new CameraConfiguration()
                    {
                        Address         = 3556734,
                        CamFileIdentity = "test1",
                        Id   = 67,
                        Port = 3165
                    },
                    new CameraConfiguration()
                    {
                        Address         = 7489,
                        CamFileIdentity = "test1WE",
                        Id   = 562,
                        Port = 673
                    }
                }
            };
            #endregion

            try
            {
                SaveContainer.Conf = testCase;
                SaveContainer.Save();
                Assert.IsTrue(File.Exists(SaveContainer.CustomSaveDirectory));

                SaveContainer.Load();
                File.Delete(SaveContainer.CustomSaveDirectory);

                Assert.IsTrue(SaveContainer.Conf.Equals(testCase));
            }
            catch (Exception e)
            {
                Assert.Fail("Shouldn't throw an error, " + e.Message);
            }
            finally
            {
                if (File.Exists(SaveContainer.DefaultSaveDirectory))
                {
                    File.Delete(SaveContainer.DefaultSaveDirectory);
                }
            }
        }
コード例 #5
0
        private SaveContainer.Data CreateDummyData(int entryAmount)
        {
            SaveContainer.Data         data       = new SaveContainer.Data();
            List <CameraConfiguration> camConfigs = new List <CameraConfiguration>();

            Random rand = new Random();

            for (int i = 0; i < 12; i++)
            {
                CameraConfiguration newConfig = new CameraConfiguration();
                newConfig.Address         = (long)rand.Next(200000, int.MaxValue) * rand.Next(200000, int.MaxValue);
                newConfig.Id              = rand.Next();
                newConfig.Port            = rand.Next();
                newConfig.CamFileIdentity = "testCam" + i;

                camConfigs.Add(newConfig);
            }

            data.Cameras = camConfigs.ToArray();
            return(data);
        }
コード例 #6
0
        public ThreadManager(SaveContainer.Data config)
        {
            this.config = config;
            ConfigureThreads();

            Random rand      = new Random();
            int    projectId = rand.Next(0, int.MaxValue - 1);

            savePath = Constants.DefualtHubSaveLocation() + Path.DirectorySeparatorChar + "tempProject" + projectId +
                       Path.DirectorySeparatorChar;
            bool done = false;

            //check that this new path has an existing path with no files in it
            do
            {
                if (!Directory.Exists(savePath))
                {
                    Directory.CreateDirectory(savePath);
                }
                else if (Directory.GetFiles(savePath).Length > 0)
                {
                    Console.WriteLine(
                        "Randomly generated project directory (id: " + projectId + ") contains files, trying another!");

                    projectId = rand.Next(int.MaxValue, 0);
                    savePath  = Constants.DefualtHubSaveLocation() + Path.DirectorySeparatorChar + "tempProject" + projectId +
                                Path.DirectorySeparatorChar;
                }
                else
                {
                    done = true;
                }
            } while (!done);

            Console.WriteLine("Project directory generated, id: " + projectId);
        }
コード例 #7
0
 public Capture(SaveContainer.Data configuration)
 {
     config = configuration;
 }