public void can_check_aggregated_data_for_all_machines_and_stores() { CloudInfrastructure cloud = new CloudInfrastructure(); cloud.CreateMachine("machine1", "Linux", "50gb", "8gb"); cloud.CreateMachine("machine2", "Windows", "20gb", "4gb"); Assert.AreEqual("machine1:Inactive||machine2:Inactive", cloud.ListMachines()); // globalUsedDisk method should return the used disk of all machines and stores existing in the cloud // for now 2 machines exists, with 50gb and 20gb disk sizes = 70gb Assert.AreEqual(70, cloud.GlobalUsedDisk(), 0.00001); // machines are inactive, no memory is used Assert.AreEqual(0, cloud.GlobalUsedMemory(), 0.00001); cloud.StartMachine("machine1"); Assert.AreEqual(70, cloud.GlobalUsedDisk(), 0.00001); Assert.AreEqual(8, cloud.GlobalUsedMemory(), 0.00001); cloud.StartMachine("machine2"); Assert.AreEqual(70, cloud.GlobalUsedDisk(), 0.00001); Assert.AreEqual(12, cloud.GlobalUsedMemory(), 0.00001); cloud.CreateStore("myImages"); cloud.UploadDocument("myImages", "picture.jpeg"); // 2 machines and 1 documents now exists in the cloud Assert.AreEqual(70.100, cloud.GlobalUsedDisk(), 0.00001); Assert.AreEqual(12, cloud.GlobalUsedMemory(), 0.00001); cloud.UploadDocument("myImages", "profile.png"); Assert.AreEqual(70.200, cloud.GlobalUsedDisk(), 0.00001); Assert.AreEqual(12, cloud.GlobalUsedMemory(), 0.00001); cloud.StopMachine("machine1"); Assert.AreEqual(70.200, cloud.GlobalUsedDisk(), 0.00001); Assert.AreEqual(4, cloud.GlobalUsedMemory(), 0.00001); cloud.EmptyStore("myImages"); Assert.AreEqual(70, cloud.GlobalUsedDisk(), 0.00001); Assert.AreEqual(4, cloud.GlobalUsedMemory(), 0.00001); }