示例#1
0
        public void TestFixFiles()
        {
            const int NUM_FILES_TO_FIX = 2;

            // Generate a list of files, both proper and not
            string[] files = new string[3]
            {
                PROPER_FILE_1,
                PROPER_FILE_2,
                HEALTHY_FILE
            };
            // Copy the files to temp directory
            string tempDir = GetTempDir();

            for (int i = 0; i < files.Length; i++)
            {
                files[i] = CopyFileToDir(files[i], tempDir);
            }
            // Perform the fix
            string[] result = ExtensionFixer.FixFiles(files);
            // Delete the result files and temp src files
            foreach (string tmpFile in result)
            {
                File.Delete(tmpFile);
            }
            foreach (string tmpFile in files)
            {
                File.Delete(tmpFile);
            }
            // Check just the result quantity
            Assert.AreEqual(result.Length, NUM_FILES_TO_FIX);
            return;
        }
示例#2
0
 public void TestIsValidFile()
 {
     // Valid file
     Assert.AreEqual(ExtensionFixer.IsValidFile(PROPER_FILE_1), true);
     // Non-valid file
     Assert.AreEqual(ExtensionFixer.IsValidFile(HEALTHY_FILE), false);
     return;
 }
示例#3
0
        private void OnSaveInfo()
        {
            App.DisplayStatusMessage("Starting saving of info.", StatusMessageType.USER);

            var dialog = new SaveFileDialog();

            dialog.DefaultExt       = IdentificationFile.EXT;      //gets long extensions to work properly when they are added to a filename when saved
            dialog.Filter           = IdentificationFile.FILTER;
            dialog.OverwritePrompt  = true;
            dialog.Title            = "Select Location to Save Info File";
            dialog.InitialDirectory = Directory.GetCurrentDirectory();            //TODO: remember last used directory

            if (dialog.ShowDialog() == true)
            {
                //replace .xml with .Info.xml
                var actualFileName = ExtensionFixer.SwitchToLongExtension(dialog.FileName, IdentificationFile.SHORT_EXT, IdentificationFile.EXT);

                try
                {
                    using (var fileStream = new FileStream(actualFileName, FileMode.Create, FileAccess.Write))
                    {
                        var infoFile = new IdentificationFile();

                        foreach (var entry in ECUInfo)
                        {
                            infoFile.IdentificationValues.Add(entry);
                        }

                        App.SerializeToXML(fileStream, infoFile);
                        App.DisplayStatusMessage("Successfully saved info to file.", StatusMessageType.USER);
                    }
                }
                catch
                {
                    App.DisplayStatusMessage("Failed to save info to file.", StatusMessageType.USER);
                }
            }
            else
            {
                App.DisplayStatusMessage("Cancelling saving of info.", StatusMessageType.USER);
            }
        }
示例#4
0
        private void DoTestAFile(string aFile, string aExpectedResult)
        {
            // Copy the file to temp directory
            aFile = CopyFileToDir(aFile, GetTempDir());
            // Try to fix it
            string result = ExtensionFixer.FixAFile(aFile);

            // Check that the file exists
            if (aExpectedResult != "")
            {
                Assert.IsTrue(File.Exists(result));
            }
            // Check the result vs expected
            Assert.AreEqual(result, aExpectedResult);
            // Delete the result file and temp src file
            if (File.Exists(result))
            {
                File.Delete(result);
            }
            File.Delete(aFile);
            return;
        }
示例#5
0
        private void OnSaveDeviceInfo()
        {
            string deviceSaveLocation = ECUFlasher.Properties.Settings.Default.SaveDeviceInfoLocation;

            if (string.IsNullOrEmpty(deviceSaveLocation))
            {
                deviceSaveLocation = Directory.GetCurrentDirectory();
            }

            var dialog = new SaveFileDialog();

            dialog.DefaultExt       = FTDIDevicesFile.EXT;      //gets long extensions to work properly when they are added to a filename when saved
            dialog.Filter           = FTDIDevicesFile.FILTER;
            dialog.InitialDirectory = deviceSaveLocation;
            dialog.OverwritePrompt  = true;
            dialog.Title            = "Select Where to Save Device Info File";

            if (dialog.ShowDialog() == true)
            {
                bool successfullySavedInfo = false;

                //replace .xml with .FTDIDevices.xml
                var actualFileName = ExtensionFixer.SwitchToLongExtension(dialog.FileName, FTDIDevicesFile.SHORT_EXT, FTDIDevicesFile.EXT);

                try
                {
                    using (var fStream = new FileStream(actualFileName, FileMode.Create, FileAccess.Write, FileShare.Write))
                    {
                        var devicesFile = new FTDIDevicesFile();
                        devicesFile.Devices.AddRange(FTDIDevices);

                        SerializeToXML(fStream, devicesFile);

                        successfullySavedInfo = true;
                    }
                }
                catch (Exception e)
                {
                    DisplayStatusMessage("Encountered exception while saving device info to file: " + e.Message, StatusMessageType.USER);
                    successfullySavedInfo = false;
                }

                if (!String.IsNullOrEmpty(dialog.FileName))
                {
                    DirectoryInfo dirInfo = Directory.GetParent(dialog.FileName);

                    if (dirInfo != null)
                    {
                        ECUFlasher.Properties.Settings.Default.SaveDeviceInfoLocation = dirInfo.FullName;
                    }
                }

                if (successfullySavedInfo)
                {
                    DisplayStatusMessage("Successfully saved device info to file.", StatusMessageType.USER);
                }
                else
                {
                    DisplayStatusMessage("Failed to save device info to file.", StatusMessageType.USER);
                }
            }
        }