public virtual void VerifyMapping()
        {
            var sdkId = SDKSQLConnector.GetInstance().GetByName(sdkNameId).id;

            Assert.AreEqual(Path.GetFullPath(Path.Combine(TestFolder, "bin2")), SDKSQLConnector.GetInstance().GetOutputPathById(sdkId),
                            "Wrong output path");
            var actualMappings = SDKMappingSQLConnector.GetInstance().GetAllBySdkId(sdkId);

            Assert.AreEqual(expectedMappings.Count, actualMappings.Count, "Wrong number of generated mappings");
            foreach (var expect in expectedMappings)
            {
                var hasMapping = false;
                foreach (var actual in actualMappings)
                {
                    if (expect.model_identifier == actual.model_identifier)
                    {
                        if (CheckMappingValue(expect.new_classname, actual.new_classname) &&
                            CheckMappingValue(expect.assembly_map.new_path, actual.assembly_map.new_path) &&
                            CheckMappingValue(expect.namespace_map.new_namespace, actual.namespace_map.new_namespace) &&
                            CheckMappingValue(expect.old_classname, actual.old_classname) &&
                            CheckMappingValue(expect.assembly_map.old_path, actual.assembly_map.old_path) &&
                            CheckMappingValue(expect.namespace_map.old_namespace, actual.namespace_map.old_namespace) &&
                            CheckMappingValue(expect.assembly_map.name, actual.assembly_map.name))
                        {
                            hasMapping = true;
                        }
                        break;
                    }
                }
                if (!hasMapping /*actualMappings.Contains(expect)*/)
                {
                    Assert.Fail("Missing actual mapping for " + expect.model_identifier);
                }
            }
        }
Exemple #2
0
 public void Setup()
 {
     name = Guid.NewGuid().ToString();
     SDKSQLConnector.GetInstance().SaveSDK(name, "");
     id       = SDKSQLConnector.GetInstance().GetByName(name).id;
     instance = NSMappingSQLConnector.GetInstance();
 }
Exemple #3
0
 public void Setup()
 {
     instance = SDKSQLConnector.GetInstance();
     name     = Guid.NewGuid().ToString();
     instance.SaveSDK(name, "path");
     id    = instance.GetByName(name).id;
     name2 = Guid.NewGuid().ToString();
     instance.SaveSDK(name2, "path2");
     id2 = instance.GetByName(name2).id;
 }
        public virtual void LoadExpectedMappingsToDatabase()
        {
            LoadExpectedMappings();
            SDKSQLConnector.GetInstance().SaveSDK(sdkNameId, Path.GetFullPath(Path.Combine(TestFolder, "bin2")));
            var sdkId = SDKSQLConnector.GetInstance().GetByName(sdkNameId).id;

            foreach (var map in expectedMappings)
            {
                SaveEntry(map);
            }
        }
Exemple #5
0
        private void Run(string oldFolderPath, string newFolderPath, string sdkName)
        {
            Console.WriteLine("Creating new SDK id in database");
            SDKSQLConnector.GetInstance().SaveSDK(sdkName, newFolderPath);
            sdkId = SDKSQLConnector.GetInstance().GetByName(sdkName).id;
            Console.WriteLine("Start reading dlls for ModelIdentiers");
            ReadFolderDllFiles(oldFolderPath, true);
            ReadFolderDllFiles(newFolderPath, false);

            Console.WriteLine("Mappings were saved to database");
        }
Exemple #6
0
 // args 0 = .csproj file path
 // args 1 = sdk name
 public static void Main(string[] args)
 {
     if (args.Length == 2)
     {
         sdkId = SDKSQLConnector.GetInstance().GetByName(args[1]).id;
         (new TransformProject()).ProcessProject(args);
     }
     else
     {
         Console.WriteLine("Incorrect amount of arguments");
         Console.WriteLine("Usage:   <path to project file> <sdk name>");
     }
 }
        private void SaveEntry(sdk_map2 map)
        {
            var id    = SDKSQLConnector.GetInstance().GetByName(sdkNameId).id;
            var ns    = NSMappingSQLConnector.GetInstance().GetOrCreateOldNSMap(id, map.namespace_map.old_namespace);
            var assem = AssemblyMappingSQLConnector.GetInstance().GetOrCreateOldAssemblyMap(id, map.assembly_map.old_path);

            SDKMappingSQLConnector.GetInstance().SaveOldSDKMapping(id,
                                                                   map.model_identifier, map.old_classname, ns, assem);
            var entry = SDKMappingSQLConnector.GetInstance().GetSDKMappingByIdentifiers(id, map.model_identifier);

            NSMappingSQLConnector.GetInstance().UpdateOrCreateNSMapping(ns, entry, map.namespace_map.new_namespace);
            AssemblyMappingSQLConnector.GetInstance().UpdateAssemblyMapping(assem, entry,
                                                                            map.assembly_map.new_path, map.assembly_map.name);
            SDKMappingSQLConnector.GetInstance().UpdateSDKMapping(entry, map.new_classname);
        }
Exemple #8
0
        // Change output path to the new one
        private string ChangeOutputPath(string xmlElementOutputPathName, XNamespace ns, XDocument xdoc)
        {
            string newoutPutPath = SDKSQLConnector.GetInstance().GetOutputPathById(sdkId);
            string newEndPath    = newoutPutPath.Split('\\').Last();

            var outputPathElements = from outp in xdoc.Descendants(ns + xmlElementOutputPathName)
                                     select outp;

            foreach (var e in outputPathElements)
            {
                var oldar = e.Value.Split('\\');
                oldar[oldar.Count() - 2] = newEndPath; // replace the old parent folder with the new one
                newoutPutPath            = String.Join("\\", oldar);
                e.SetValue(newoutPutPath);
            }
            return(newoutPutPath);
        }
 public virtual void ResetDatabase()
 {
     SDKSQLConnector.GetInstance().DeleteSDKByName(sdkNameId);
 }
Exemple #10
0
 public void Teardown()
 {
     SDKSQLConnector.GetInstance().DeleteSDKByName(name);
 }