コード例 #1
0
        public void TypesTests()
        {
            DatabaseAssembly baseAssembly = serializer.Load(mockContext.Object);

            Assert.AreEqual(4, baseAssembly.Namespaces.ToList()[1].Types.Count());
            CollectionAssert.AreEquivalent(baseAssembly.Namespaces.ToList()[1].Types.ToList(), types);
        }
コード例 #2
0
ファイル: DataTransferGraph.cs プロジェクト: hubjust/TPA
 public static AssemblyBase AssemblyBase(DatabaseAssembly assemblyMetadata)
 {
     dictionaryType.Clear();
     return(new AssemblyBase()
     {
         Name = assemblyMetadata.Name,
         Namespaces = assemblyMetadata.Namespaces?.Select(NamespaceBase)
     });
 }
 public void Serialize(BaseAssembly _object)
 {
     Clear();
     using (TPADatabaseContext context = new TPADatabaseContext())
     {
         DatabaseAssembly assemblyModel = (DatabaseAssembly)_object;
         context.AssemblyModel.Add(assemblyModel);
         context.SaveChanges();
     }
 }
コード例 #4
0
ファイル: DataSerializer.cs プロジェクト: hubjust/TPA
        public DatabaseAssembly Load(DatabaseContext ctx)
        {
            DatabaseAssembly assembly = ctx.AssemblyModel.FirstOrDefault();

            if (assembly == null)
            {
                throw new ArgumentException("Database is empty");
            }
            return(assembly);
        }
コード例 #5
0
ファイル: DataSerializer.cs プロジェクト: hubjust/TPA
        public void Serialize(IFileSelector supplier, AssemblyBase target)
        {
            System.Data.Entity.Database.SetInitializer(new DropCreateDatabaseAlways <DatabaseContext>());
            DatabaseAssembly serializationModel = new DatabaseAssembly(target);

            using (var ctx = new DatabaseContext())
            {
                ctx.AssemblyModel.Add(serializationModel);
                ctx.SaveChanges();
            }
        }
        public BaseAssembly Deserialize()
        {
            using (TPADatabaseContext context = new TPADatabaseContext())
            {
                context.Configuration.ProxyCreationEnabled = false;
                context.NamespaceModel
                .Include(n => n.Types)
                .Load();
                context.TypeModel
                .Include(t => t.Constructors)
                .Include(t => t.BaseT)
                .Include(t => t.DeclaringType)
                .Include(t => t.Fields)
                .Include(t => t.ImplementedInterfaces)
                .Include(t => t.GenericArguments)
                .Include(t => t.Methods)
                .Include(t => t.NestedTypes)
                .Include(t => t.Properties)
                .Include(t => t.TypeGenericArguments)
                .Include(t => t.TypeImplementedInterfaces)
                .Include(t => t.TypeNestedTypes)
                .Include(t => t.MethodGenericArguments)
                .Include(t => t.TypeBaseTypes)
                .Include(t => t.TypeDeclaringTypes)
                .Load();
                context.ParameterModel
                .Include(p => p.Type)
                .Include(p => p.TypeFields)
                .Include(p => p.MethodParameters)
                .Load();
                context.MethodModel
                .Include(m => m.GenericArguments)
                .Include(m => m.Parameters)
                .Include(m => m.ReturnType)
                .Include(m => m.TypeConstructors)
                .Include(m => m.TypeMethods)
                .Load();
                context.PropertyModel
                .Include(p => p.Type)
                .Include(p => p.TypeProperties)
                .Load();


                DatabaseAssembly dbAssemblyModel = context.AssemblyModel
                                                   .Include(a => a.NamespaceModels)
                                                   .ToList().FirstOrDefault();
                if (dbAssemblyModel == null)
                {
                    throw new ArgumentException("Database is empty");
                }
                return(dbAssemblyModel);
            }
        }
コード例 #7
0
        public void NamespacesTests()
        {
            DatabaseAssembly baseAssembly = serializer.Load(mockContext.Object);

            CollectionAssert.AreEquivalent(baseAssembly.Namespaces.ToList(), namespaces);
        }
コード例 #8
0
        public void AssemblyNameTests()
        {
            DatabaseAssembly baseAssembly = serializer.Load(mockContext.Object);

            Assert.AreEqual(@"..\..\ExampleDll\TPAApplicationArchitecture.dll", baseAssembly.Name);
        }