public void ReflectAdventureworks() { // load adventurework AssemblyHook.EnsureAssemblyLoaded(); Type[] types = AdventureWorksTypes(); IUnityContainer container = GetContainer(); var rc = new ReflectorConfiguration(types, new Type[] {}, new Type[] {}, new Type[] {}, types.Select(t => t.Namespace).Distinct().ToArray()); container.RegisterInstance <IReflectorConfiguration>(rc); var reflector = container.Resolve <IReflector>(); var stopwatch = new Stopwatch(); stopwatch.Start(); reflector.Reflect(); stopwatch.Stop(); TimeSpan interval = stopwatch.Elapsed; Assert.IsTrue(reflector.AllObjectSpecImmutables.Any()); Assert.IsTrue(interval.Milliseconds < 1000); }
public void SerializeAdventureworks() { // load adventurework AssemblyHook.EnsureAssemblyLoaded(); IUnityContainer container = GetContainer(); var rc = new ReflectorConfiguration(Types, Services, ModelNamespaces, MainMenus); container.RegisterInstance <IReflectorConfiguration>(rc); var reflector = container.Resolve <IReflector>(); var stopwatch = new Stopwatch(); stopwatch.Start(); reflector.Reflect(); stopwatch.Stop(); var reflectInterval = stopwatch.Elapsed.TotalMilliseconds; Console.WriteLine("reflect {0}", reflectInterval); Assert.IsTrue(reflector.AllObjectSpecImmutables.Any()); //var cache = container.Resolve<ISpecificationCache>(); //var f1 = // cache.AllSpecifications().SelectMany(s => s.Fields) // .Select(s => s.Spec) // .Where(s => s != null) // .OfType<OneToOneAssociationSpecImmutable>() // .SelectMany(s => s.GetFacets()) // .Select(f => f.GetType().FullName) // .Distinct(); //foreach (var f in f1) { // Console.WriteLine(" field facet {0}", f); //} var cache = container.Resolve <ISpecificationCache>(); serialAwSpecs = cache.AllSpecifications(); //Directory.CreateDirectory(@"c:\testmetadata"); //const string file = @"c:\testmetadata\metadataAW.bin"; //SerializeDeserializeLocal(cache, file); }
[Ignore] // #8225 public void SerializeAdventureworksByType() { // load adventurework AssemblyHook.EnsureAssemblyLoaded(); int count = AdventureWorksTypes().Count(); Type[] spec51 = AdventureWorksTypes().Skip(50).Take(1).ToArray(); Type[] types = AdventureWorksTypes().Take(20).ToArray(); IUnityContainer container = GetContainer(); var rc = new ReflectorConfiguration(types, new Type[] {}, new Type[] {}, new Type[] {}, types.Select(t => t.Namespace).Distinct().ToArray()); container.RegisterInstance <IReflectorConfiguration>(rc); var reflector = container.Resolve <IReflector>(); var stopwatch = new Stopwatch(); stopwatch.Start(); reflector.Reflect(); stopwatch.Stop(); TimeSpan reflectInterval = stopwatch.Elapsed; stopwatch.Reset(); Assert.IsTrue(reflector.AllObjectSpecImmutables.Any()); var cache = container.Resolve <ISpecificationCache>(); Directory.CreateDirectory(@"c:\testmetadata"); const string file = @"c:\testmetadata\metadataAWT.bin"; SerializeDeserialize(cache, file); }
public void SerializeAdventureworksFacets() { // load adventurework AssemblyHook.EnsureAssemblyLoaded(); int count = AdventureWorksTypes().Count(); Type[] types50 = AdventureWorksTypes().Take(50).ToArray(); Type[] types51 = AdventureWorksTypes().Take(51).ToArray(); IUnityContainer container = GetContainer(); var rc = new ReflectorConfiguration(types50, new Type[] {}, new Type[] {}, new Type[] {}, types50.Select(t => t.Namespace).Distinct().ToArray()); container.RegisterInstance <IReflectorConfiguration>(rc); var reflector = container.Resolve <IReflector>(); reflector.Reflect(); IObjectSpecImmutable[] cache1 = container.Resolve <ISpecificationCache>().AllSpecifications(); rc = new ReflectorConfiguration(types51, new Type[] {}, new Type[] {}, new Type[] {}, types51.Select(t => t.Namespace).Distinct().ToArray()); container.RegisterInstance <IReflectorConfiguration>(rc); reflector = container.Resolve <IReflector>(); reflector.Reflect(); IObjectSpecImmutable[] cache2 = container.Resolve <ISpecificationCache>().AllSpecifications(); int c1 = cache1.Count(); int c2 = cache2.Count(); foreach (IObjectSpecImmutable objectSpecImmutable in cache2) { if (cache1.Any(s => s.FullName == objectSpecImmutable.FullName)) { //Console.WriteLine("Found {0}", objectSpecImmutable.FullName); } else { Console.WriteLine("Not Found object spec {0}", objectSpecImmutable.FullName); } } IEnumerable <IFacet> f1 = cache1.SelectMany(s => s.GetFacets()).Distinct(); IEnumerable <IFacet> f2 = cache2.SelectMany(s => s.GetFacets()).Distinct(); foreach (IFacet f in f2) { if (f1.Any(s => s.GetType() == f.GetType())) { //Console.WriteLine("Found {0}", f.GetType().FullName); } else { Console.WriteLine("Not Found object facet {0}", f.GetType().FullName); } } f1 = cache1.SelectMany(s => s.ObjectActions) .Where(s => s != null) .SelectMany(s => s.GetFacets()) .Distinct(); f2 = cache2.SelectMany(s => s.ObjectActions) .Where(s => s != null) .SelectMany(s => s.GetFacets()) .Distinct(); foreach (IFacet f in f2) { if (f1.Any(s => s.GetType() == f.GetType())) { //Console.WriteLine("Found {0}", f.GetType().FullName); } else { Console.WriteLine("Not Found action facet {0}", f.GetType().FullName); } } f1 = cache1.SelectMany(s => s.ObjectActions) .Where(s => s != null) .SelectMany(s => s.Parameters) .SelectMany(s => s.GetFacets()) .Distinct(); f2 = cache2.SelectMany(s => s.ObjectActions) .Where(s => s != null) .SelectMany(s => s.Parameters) .SelectMany(s => s.GetFacets()) .Distinct(); foreach (IFacet f in f2) { if (f1.Any(s => s.GetType() == f.GetType())) { //Console.WriteLine("Found {0}", f.GetType().FullName); } else { Console.WriteLine("Not Found parm facet {0}", f.GetType().FullName); } } f1 = cache1.SelectMany(s => s.Fields) .Where(s => s != null) .SelectMany(s => s.GetFacets()) .Distinct(); f2 = cache2.SelectMany(s => s.Fields) .Where(s => s != null) .SelectMany(s => s.GetFacets()) .Distinct(); foreach (IFacet f in f2) { if (f1.Any(s => s.GetType() == f.GetType())) { //Console.WriteLine("Found {0}", f.GetType().FullName); } else { Console.WriteLine("Not Found field facet {0}", f.GetType().FullName); } } }