コード例 #1
0
 public void SignIn10000Clients(NutritionClinic sut)
 {
     for (int i = 0; i < 10000; i++)
     {
         sut.SignInNewClient(ClientGenerator.GenerateRandomClient(sut));
     }
 }
コード例 #2
0
        //CONSTRUCTOR
        public MySimulation(TextInput input, NutritionClinic theClinic)
        {
            this.input     = input;
            startTime      = DateTime.Now;
            runningTime    = DateTime.Now;
            this.TheClinic = theClinic;
            simState       = new StandardState("MESSAGEBOARD");

            messageBoard.Log($"This is the {theClinic.Name} nutrition clinic!");
            messageBoard.Log($"We help people get back in shape. Lets start by signing in a new client!");
            messageBoard.Log(theClinic.SignInNewClient(ClientGenerator.GenerateRandomClient(theClinic)));
        }
コード例 #3
0
        public void ClientGenerator_NeverProducesNormalWeightClient()
        {
            NutritionClinic sutClinic = SetUpTestClinic();

            for (int i = 0; i < 10000; i++)
            {
                Client sut = ClientGenerator.GenerateRandomClient(sutClinic);
                if (sut.BMI > 18.5 && sut.BMI < 25)
                {
                    Assert.Fail();
                }
            }
            Assert.Pass();
        }
コード例 #4
0
        //METHODS
        public override void PassTime(int deltaTime)
        {
            runningTime = runningTime.AddMinutes(30).AddMilliseconds(deltaTime);

            patientInfo.Value =
                $"CURRENT CLIENT: {Environment.NewLine}{CurrentClient.GetCurrentState()}{Environment.NewLine}{Environment.NewLine}" +
                $"CLIENT GOALS: {Environment.NewLine}{CurrentClient.GetGoals()}{Environment.NewLine}{Environment.NewLine}" +
                $"TODAYS INTAKE:{Environment.NewLine}{CurrentClient.GetTodaysIntake()}";

            clockDisplay.Value = "Current time: " + runningTime.ToString("HH:mm:ss");
            clinicInfo.Value   = $"CLINIC NAME: {TheClinic.Name} {Environment.NewLine}{Environment.NewLine}CLINIC STAFF: {Environment.NewLine}{TheDietitian.Position}: {TheDietitian.Name} {Environment.NewLine}{ThePersonalTrainer.Position}: {ThePersonalTrainer.Name} {Environment.NewLine}{Environment.NewLine}CLIENTS HELPED:{Environment.NewLine}{TheClinic.ClientRecord.Count - 1}";

            if (runningTime.Day > startTime.Day)
            {
                messageBoard.Log("It's a new day! Let's check the progress:");
                messageBoard.Log(CurrentClient.CheckTodaysIntake());
                startTime = runningTime;
            }
            if (CurrentClient.NeedsHozpitalization())
            {
                messageBoard.Log("Oups, this has gotten out of hand");
                messageBoard.Log($"{CurrentClient.Name} is dangerouzly underweight and needs hospital care");
                messageBoard.Log($"Bye {CurrentClient.Name} hope you feel better soon");
                messageBoard.Log($"Let's sign in a new patient");

                messageBoard.Log(TheClinic.SignInNewClient(ClientGenerator.GenerateRandomClient(TheClinic)));
            }
            if (CurrentClient.HasReachedNormalWeight())
            {
                messageBoard.Log("Congrats, the client has reached normal BMI!");
                messageBoard.Log($"We will sign him/her out and sign in a new client {Environment.NewLine}");
                messageBoard.Log(TheClinic.SignInNewClient(ClientGenerator.GenerateRandomClient(TheClinic)));
            }


            headerMessageBoard.Value = simState.title;
            commandBox.Value         = simState.FillCommandBox();

            while (input.HasInput)
            {
                string command = input.Consume();
                simState.HandleInput(command, this);
            }

            messageBoard.Log("");
        }