public static SDAppDomain ToSDModel(this ClrAppDomain domain) { var model = new SDAppDomain(); model.Address = domain.Address; model.ApplicationBase = domain.ApplicationBase; model.Id = domain.Id; model.Name = domain.Name; model.Modules = new List <SDClrModule>(); foreach (ClrModule clrModule in domain.Modules) { model.Modules.Add(clrModule.ToSDModel()); } model.Runtime = domain.Runtime.ClrInfo.ToSDModel(); return(model); }
public void AppDomainSerializationTest() { SystemAnalyzer analyzer = new SystemAnalyzer(this.context); List <SDAppDomain> domains = new List <SDAppDomain>(); foreach (SDAppDomain domainBefore in analyzer.systemInfo.AppDomains) { string json = domainBefore.SerializeToJSON(); // deserialize domain SDAppDomain domainAfter = JsonConvert.DeserializeObject <SDAppDomain>(json); domains.Add(domainAfter); // assert Assert.AreEqual(domainBefore, domainAfter); // serialize again and check string jsonAfter = domainAfter.SerializeToJSON(); StringAssert.Equals(json, jsonAfter); } // extra assert on collection, assume order stays the same after deserialization Assert.IsTrue(Enumerable.SequenceEqual(domains, analyzer.systemInfo.AppDomains)); }