public void AddColumnPrescriptions() { var fileName = Temporary.GetTempFilePath(); var project = CreateProject(); ValueFactoryManager.Initialize(); var i = 0; foreach (var tableDescription in project.Descriptor.TableDescriptions) { var tablePrescription = new TablePrescription(tableDescription); foreach (var columnDescription in tableDescription.ColumnDescriptions) { if (columnDescription.Identity != null || !columnDescription.IsWritable()) { continue; } var type = columnDescription.UserType switch { "sql_variant" => typeof(int), _ => SqlTypeUtility.GetDataType(columnDescription.UserType, columnDescription.MaxLength), }; var factory = ValueFactoryManager.ValueFactoryInfos.FilterByType(type).FirstOrDefault(); Assert.NotNull(factory); var configuration = factory.Configurator.CreateConfiguration(); var valueFactoryPrescription = new ValueFactoryPrescription(factory.Name + i++, factory.Name, configuration); project.Prescriptor.AddValueFactory(valueFactoryPrescription); var columnPrescription = new ColumnPrescription(columnDescription, valueFactoryPrescription, null); tablePrescription.AddColumn(columnPrescription); } project.Prescriptor.AddTable(tablePrescription); } ProjectManager.SaveToFile(project, fileName); Output.WriteLine(File.ReadAllText(fileName)); var project2 = ProjectManager.LoadFromFile(fileName); IoAssert.AsExpected(project2); }
public void LoadProject() { var project1 = CreateProject(); var path1 = Temporary.GetTempFilePath(); ProjectManager.SaveToFile(project1, path1); var project2 = ProjectManager.LoadFromFile(path1); IoAssert.AsExpected(project2); var path2 = Temporary.GetTempFilePath(); ProjectManager.SaveToFile(project2, path2); var str1 = File.ReadAllText(path1); var str2 = File.ReadAllText(path2); Assert.Equal(str1, str2); }
public void AddAllValueFactories() { var fileName = Temporary.GetTempFilePath(); var project = CreateProject(); ValueFactoryManager.Initialize(); foreach (var factory in ValueFactoryManager.ValueFactoryInfos) { var configuration = factory.Configurator.CreateConfiguration(); var valueFactoryPrescription = new ValueFactoryPrescription("default-" + factory.Name, factory.Name, configuration); project.Prescriptor.AddValueFactory(valueFactoryPrescription); } ProjectManager.SaveToFile(project, fileName); Output.WriteLine(File.ReadAllText(fileName)); var project2 = ProjectManager.LoadFromFile(fileName); IoAssert.AsExpected(project2); }
public void CreateAProject() { var project = CreateProject(); IoAssert.AsExpected(project); }