public static void Test01Create() { var j = new Job("CustomId"); Equal(j.Frozen, false); Equal(j.Env.Frozen, false); Equal(j.Run.Frozen, false); Equal(j.Env.Gc.AllowVeryLargeObjects, false); Equal(j.Env.Platform, Platform.AnyCpu); Equal(j.Run.RunStrategy, RunStrategy.Throughput); // set by default Equal(j.Id, "CustomId"); Equal(j.DisplayInfo, "CustomId"); Equal(j.ResolvedId, "CustomId"); Equal(j.ResolvedId, j.FolderInfo); Equal(j.Env.Id, "CustomId"); // freeze var old = j; j = j.Freeze(); Same(old, j); j = j.Freeze(); Same(old, j); Equal(j.Frozen, true); Equal(j.Env.Frozen, true); Equal(j.Run.Frozen, true); Equal(j.Env.Gc.AllowVeryLargeObjects, false); Equal(j.Env.Platform, Platform.AnyCpu); Equal(j.Run.RunStrategy, RunStrategy.Throughput); // set by default Equal(j.Id, "CustomId"); Equal(j.DisplayInfo, "CustomId"); Equal(j.ResolvedId, "CustomId"); Equal(j.ResolvedId, j.FolderInfo); Equal(j.Env.Id, "CustomId"); // unfreeze old = j; j = j.UnfreezeCopy(); NotSame(old, j); Equal(j.Frozen, false); Equal(j.Env.Frozen, false); Equal(j.Run.Frozen, false); Equal(j.Env.Gc.AllowVeryLargeObjects, false); Equal(j.Env.Platform, Platform.AnyCpu); Equal(j.Run.RunStrategy, RunStrategy.Throughput); // set by default Equal(j.Id, "Default"); // id reset True(j.DisplayInfo == "DefaultJob", "DisplayInfo = " + j.DisplayInfo); True(j.ResolvedId == "DefaultJob", "ResolvedId = " + j.ResolvedId); Equal(j.ResolvedId, j.FolderInfo); Equal(j.Env.Id, "Default"); // new job j = new Job(j.Freeze()); Equal(j.Frozen, false); Equal(j.Env.Frozen, false); Equal(j.Run.Frozen, false); Equal(j.Env.Gc.AllowVeryLargeObjects, false); Equal(j.Env.Platform, Platform.AnyCpu); Equal(j.Run.RunStrategy, RunStrategy.Throughput); // set by default Equal(j.Id, "Default"); // id reset True(j.DisplayInfo == "DefaultJob", "DisplayInfo = " + j.DisplayInfo); True(j.ResolvedId == "DefaultJob", "ResolvedId = " + j.ResolvedId); Equal(j.ResolvedId, j.FolderInfo); Equal(j.Env.Id, "Default"); }