public void HasLengthHigherDimensionTest() { Assert.IsTrue(LengthChecker.HasLength <double>( JaggedArray.Create <double[][]>(8, 9), 8, 9)); Assert.IsTrue(LengthChecker.HasLength <double>( JaggedArray.Create <double[][][]>(3, 4, 5), 3, 4, 5)); }
public BoeingPerfTable GetItem(XDocument doc) { var root = doc.Root; var para = root.Element("Parameters"); bool lenUnitIsMeter = para.GetString("LengthUnit") == "M"; double wtRefKg = para.GetDouble("WeightRef"); double wtStepKg = para.GetDouble("WeightStep"); var brks = para.Element("Brakes"); var brkSettingDry = brks.GetString("Dry").Split(';'); var brkSettingWet = brks.GetString("Wet").Split(';'); var reversers = para.GetString("Reversers").Split(';'); var data = root.Elements("Data").ToArray(); int flapsCount = data.Length; string[] flaps = new string[flapsCount]; var tableDry = JaggedArray.Create <double[][][]> (flapsCount, brkSettingDry.Length, ColumnCount); var tableWet = JaggedArray.Create <double[][][][]> (flapsCount, SurfaceCondCount, brkSettingWet.Length, ColumnCount); for (int i = 0; i < flapsCount; i++) { flaps[i] = data[i].Element("Flaps").Value; ReadTableDry(tableDry, i, data[i].GetString("Dry")); ReadTableWet(tableWet, i, 0, data[i].GetString("Good")); ReadTableWet(tableWet, i, 1, data[i].GetString("Medium")); ReadTableWet(tableWet, i, 2, data[i].GetString("Poor")); } if (lenUnitIsMeter == false) { tableDry.Multiply(FtMeterRatio); tableWet.Multiply(FtMeterRatio); } return(new BoeingPerfTable( wtRefKg, wtStepKg, brkSettingDry, brkSettingWet, flaps, reversers, new TableDry(tableDry), new TableWet(tableWet))); }