public void CanGetMemoryPeak()
            {
                jobObject.SetJobMemoryLimit(DefaultMemoryLimit);

                ulong allocateBytes = DefaultMemoryLimit * 2;
                var   process       = IFTestHelper.ExecuteInJob(jobObject, "allocate-memory", "--bytes", allocateBytes);

                if (IFTestHelper.Succeeded(process))
                {
                    Assert.True(DefaultMemoryLimit <= jobObject.GetPeakJobMemoryUsed());
                }
                else
                {
                    Assert.NotEqual(0UL, jobObject.GetPeakJobMemoryUsed());
                }
            }
            public void WhenManagedProcessCreatesChildProcess_ReturnsAllProcessIds()
            {
                // Arrange:
                var process = IFTestHelper.ExecuteWithWait("create-child");

                jobObject.AssignProcessToJob(process);
                process.StandardInput.WriteLine();

                var pidLine = process.StandardOutput.ReadLine();
                int pid     = Int32.Parse(pidLine);

                // Act:
                var managedProcesses = jobObject.GetProcessIds();

                // Assert:
                Assert.Contains(process.Id, managedProcesses);
                Assert.Contains(pid, managedProcesses);

                process.StandardInput.WriteLine();

                process.WaitForExit();
                Assert.True(IFTestHelper.Succeeded(process));
            }