public void TestToSISmallTen() { Assert.AreEqual("125mB", FormatConversion.ToSI(Math.Pow(2, -3), 10, "B", false)); Assert.AreEqual("15mB", FormatConversion.ToSI(Math.Pow(2, -6), 10, "B", false)); Assert.AreEqual("1mB", FormatConversion.ToSI(Math.Pow(2, -9), 10, "B", false)); Assert.AreEqual("1dB", FormatConversion.ToSI(Math.Pow(2, -3), 10, "B", true)); Assert.AreEqual("1cB", FormatConversion.ToSI(Math.Pow(2, -6), 10, "B", true)); Assert.AreEqual("1mB", FormatConversion.ToSI(Math.Pow(2, -9), 10, "B", true)); Assert.AreEqual("244µB", FormatConversion.ToSI(Math.Pow(2, -12), 10, "B", true)); Assert.AreEqual("30µB", FormatConversion.ToSI(Math.Pow(2, -15), 10, "B", true)); Assert.AreEqual("3µB", FormatConversion.ToSI(Math.Pow(2, -18), 10, "B", true)); Assert.AreEqual("476nB", FormatConversion.ToSI(Math.Pow(2, -21), 10, "B", true)); Assert.AreEqual("59nB", FormatConversion.ToSI(Math.Pow(2, -24), 10, "B", true)); Assert.AreEqual("7nB", FormatConversion.ToSI(Math.Pow(2, -27), 10, "B", true)); Assert.AreEqual("931pB", FormatConversion.ToSI(Math.Pow(2, -30), 10, "B", true)); Assert.AreEqual("14pB", FormatConversion.ToSI(Math.Pow(2, -36), 10, "B", true)); Assert.AreEqual("1pB", FormatConversion.ToSI(Math.Pow(2, -39), 10, "B", true)); Assert.AreEqual("227fB", FormatConversion.ToSI(Math.Pow(2, -42), 10, "B", true)); Assert.AreEqual("28fB", FormatConversion.ToSI(Math.Pow(2, -45), 10, "B", true)); Assert.AreEqual("3fB", FormatConversion.ToSI(Math.Pow(2, -48), 10, "B", true)); Assert.AreEqual("444aB", FormatConversion.ToSI(Math.Pow(2, -51), 10, "B", true)); Assert.AreEqual("55aB", FormatConversion.ToSI(Math.Pow(2, -54), 10, "B", true)); Assert.AreEqual("6aB", FormatConversion.ToSI(Math.Pow(2, -57), 10, "B", true)); Assert.AreEqual("867zB", FormatConversion.ToSI(Math.Pow(2, -60), 10, "B", true)); Assert.AreEqual("13zB", FormatConversion.ToSI(Math.Pow(2, -66), 10, "B", true)); Assert.AreEqual("1zB", FormatConversion.ToSI(Math.Pow(2, -69), 10, "B", true)); Assert.AreEqual("211yB", FormatConversion.ToSI(Math.Pow(2, -72), 10, "B", true)); Assert.AreEqual("26yB", FormatConversion.ToSI(Math.Pow(2, -75), 10, "B", true)); Assert.AreEqual("3yB", FormatConversion.ToSI(Math.Pow(2, -78), 10, "B", true)); Assert.AreEqual("-1µB", FormatConversion.ToSI(-Math.Pow(10, -6), 10, "B", false)); Assert.AreEqual("0B", FormatConversion.ToSI(0, 10, "B", false)); }
public void TestToSIBigTen() { Assert.AreEqual("154YB", FormatConversion.ToSI(Math.Pow(2, 87), 10, "B", true)); Assert.AreEqual("19YB", FormatConversion.ToSI(Math.Pow(2, 84), 10, "B", true)); Assert.AreEqual("2YB", FormatConversion.ToSI(Math.Pow(2, 81), 10, "B", true)); Assert.AreEqual("302ZB", FormatConversion.ToSI(Math.Pow(2, 78), 10, "B", true)); Assert.AreEqual("37ZB", FormatConversion.ToSI(Math.Pow(2, 75), 10, "B", true)); Assert.AreEqual("4ZB", FormatConversion.ToSI(Math.Pow(2, 72), 10, "B", true)); Assert.AreEqual("590EB", FormatConversion.ToSI(Math.Pow(2, 69), 10, "B", true)); Assert.AreEqual("73EB", FormatConversion.ToSI(Math.Pow(2, 66), 10, "B", true)); Assert.AreEqual("1EB", FormatConversion.ToSI(Math.Pow(2, 60), 10, "B", true)); Assert.AreEqual("144PB", FormatConversion.ToSI(Math.Pow(2, 57), 10, "B", true)); Assert.AreEqual("18PB", FormatConversion.ToSI(Math.Pow(2, 54), 10, "B", true)); Assert.AreEqual("2PB", FormatConversion.ToSI(Math.Pow(2, 51), 10, "B", true)); Assert.AreEqual("281TB", FormatConversion.ToSI(Math.Pow(2, 48), 10, "B", true)); Assert.AreEqual("35TB", FormatConversion.ToSI(Math.Pow(2, 45), 10, "B", true)); Assert.AreEqual("4TB", FormatConversion.ToSI(Math.Pow(2, 42), 10, "B", true)); Assert.AreEqual("549GB", FormatConversion.ToSI(Math.Pow(2, 39), 10, "B", true)); Assert.AreEqual("68GB", FormatConversion.ToSI(Math.Pow(2, 36), 10, "B", true)); Assert.AreEqual("1GB", FormatConversion.ToSI(Math.Pow(2, 30), 10, "B", true)); Assert.AreEqual("134MB", FormatConversion.ToSI(Math.Pow(2, 27), 10, "B", true)); Assert.AreEqual("16MB", FormatConversion.ToSI(Math.Pow(2, 24), 10, "B", true)); Assert.AreEqual("2MB", FormatConversion.ToSI(Math.Pow(2, 21), 10, "B", true)); Assert.AreEqual("262kB", FormatConversion.ToSI(Math.Pow(2, 18), 10, "B", true)); Assert.AreEqual("32kB", FormatConversion.ToSI(Math.Pow(2, 15), 10, "B", true)); Assert.AreEqual("4kB", FormatConversion.ToSI(Math.Pow(2, 12), 10, "B", true)); Assert.AreEqual("5hB", FormatConversion.ToSI(Math.Pow(2, 9), 10, "B", true)); Assert.AreEqual("6daB", FormatConversion.ToSI(Math.Pow(2, 6), 10, "B", true)); Assert.AreEqual("8B", FormatConversion.ToSI(Math.Pow(2, 3), 10, "B", true)); Assert.AreEqual("512B", FormatConversion.ToSI(Math.Pow(2, 9), 10, "B", false)); Assert.AreEqual("64B", FormatConversion.ToSI(Math.Pow(2, 6), 10, "B", false)); Assert.AreEqual("8B", FormatConversion.ToSI(Math.Pow(2, 3), 10, "B", false)); Assert.AreEqual("-1kB", FormatConversion.ToSI(-1024, 10, "B", false)); Assert.AreEqual("0B", FormatConversion.ToSI(0, 10, "B", false)); }
public void TestToSIBigTwo() { Assert.AreEqual("827YiB", FormatConversion.ToSI(Math.Pow(10, 27), 2, "iB", false)); Assert.AreEqual("82YiB", FormatConversion.ToSI(Math.Pow(10, 26), 2, "iB", false)); Assert.AreEqual("8YiB", FormatConversion.ToSI(Math.Pow(10, 25), 2, "iB", false)); Assert.AreEqual("847ZiB", FormatConversion.ToSI(Math.Pow(10, 24), 2, "iB", false)); Assert.AreEqual("84ZiB", FormatConversion.ToSI(Math.Pow(10, 23), 2, "iB", false)); Assert.AreEqual("8ZiB", FormatConversion.ToSI(Math.Pow(10, 22), 2, "iB", false)); Assert.AreEqual("867EiB", FormatConversion.ToSI(Math.Pow(10, 21), 2, "iB", false)); Assert.AreEqual("86EiB", FormatConversion.ToSI(Math.Pow(10, 20), 2, "iB", false)); Assert.AreEqual("8EiB", FormatConversion.ToSI(Math.Pow(10, 19), 2, "iB", false)); Assert.AreEqual("888PiB", FormatConversion.ToSI(Math.Pow(10, 18), 2, "iB", false)); Assert.AreEqual("88PiB", FormatConversion.ToSI(Math.Pow(10, 17), 2, "iB", false)); Assert.AreEqual("8PiB", FormatConversion.ToSI(Math.Pow(10, 16), 2, "iB", false)); Assert.AreEqual("909TiB", FormatConversion.ToSI(Math.Pow(10, 15), 2, "iB", false)); Assert.AreEqual("90TiB", FormatConversion.ToSI(Math.Pow(10, 14), 2, "iB", false)); Assert.AreEqual("9TiB", FormatConversion.ToSI(Math.Pow(10, 13), 2, "iB", false)); Assert.AreEqual("931GiB", FormatConversion.ToSI(Math.Pow(10, 12), 2, "iB", false)); Assert.AreEqual("93GiB", FormatConversion.ToSI(Math.Pow(10, 11), 2, "iB", false)); Assert.AreEqual("9GiB", FormatConversion.ToSI(Math.Pow(10, 10), 2, "iB", false)); Assert.AreEqual("953MiB", FormatConversion.ToSI(Math.Pow(10, 9), 2, "iB", false)); Assert.AreEqual("95MiB", FormatConversion.ToSI(Math.Pow(10, 8), 2, "iB", false)); Assert.AreEqual("9MiB", FormatConversion.ToSI(Math.Pow(10, 7), 2, "iB", false)); Assert.AreEqual("976kiB", FormatConversion.ToSI(Math.Pow(10, 6), 2, "iB", false)); Assert.AreEqual("97kiB", FormatConversion.ToSI(Math.Pow(10, 5), 2, "iB", false)); Assert.AreEqual("9kiB", FormatConversion.ToSI(Math.Pow(10, 4), 2, "iB", false)); Assert.AreEqual("1000B", FormatConversion.ToSI(Math.Pow(10, 3), 2, "B", false)); Assert.AreEqual("100B", FormatConversion.ToSI(Math.Pow(10, 2), 2, "B", false)); Assert.AreEqual("10B", FormatConversion.ToSI(Math.Pow(10, 1), 2, "B", false)); Assert.AreEqual("1B", FormatConversion.ToSI(1, 2, "B", false)); Assert.AreEqual("-770B", FormatConversion.ToSI(-770, 2, "B", false)); Assert.AreEqual("0B", FormatConversion.ToSI(0, 2, "B", false)); }
/// <summary> /// Obtains the most up-to-date statistics on the account's plans. /// </summary> /// <returns>A list of PlanOverviewViewModel objects that represent the plans associated with the account.</returns> public async Task <List <PlanOverviewModel> > GetUpdates() { List <PlanOverviewModel> updates = null; List <UserPlan> userPlans = await GetUserPlanList(); List <ServerBandwidthUsage> bandwidthUsages = await GetBandwidthValues(); List <ServerDiskUsage> diskUsages = await GetStorageValues(); if (userPlans != null && bandwidthUsages != null && diskUsages != null) { updates = new List <PlanOverviewModel>(); foreach (UserPlan plan in userPlans) { DetailedPlan dp = await GetDetailsOnPlan(plan.planID); if (dp == null) { return(null); } PlanOverviewModel povm = new PlanOverviewModel(); povm.serverName = plan.serverName.Substring(0, 1).ToUpper() + plan.serverName.Substring(1); povm.isSuspended = plan.isSuspended; if (plan.isSuspended) { povm.serverName += " (Suspended)"; } foreach (ServerBandwidthUsage bwusage in bandwidthUsages) { if (bwusage.acctPlanID == plan.acctPlanID) { String max = FormatConversion.ToSI((double)dp.bandwidth * 1000000000, 10, "B", false); String used = FormatConversion.ToSI((double)bwusage.externalUpload + (double)bwusage.internalUpload, 10, "B", false); povm.bandwidthUsage = String.Format("Transfer: {0}/{1}", used, max); break; } } foreach (ServerDiskUsage sdusage in diskUsages) { if (sdusage.acctPlanID == plan.acctPlanID) { String max = FormatConversion.ToSI((double)dp.disk * 1000000000, 10, "B", false); String used = FormatConversion.ToSI((double)sdusage.spaceUsed * 1000, 10, "B", false); povm.storageUsage = String.Format("Storage: {0}/{1}", used, max); break; } } updates.Add(povm); } } return(updates); }