예제 #1
0
        public void GenericsConstructor_AssignsProperties()
        {
            var expectedZero      = Length.FromCentimeters(10);
            var expectedUnitInfos = new UnitInfo <LengthUnit>[] {
                new UnitInfo <LengthUnit>(LengthUnit.Centimeter, new BaseUnits(LengthUnit.Centimeter)),
                new UnitInfo <LengthUnit>(LengthUnit.Kilometer, new BaseUnits(LengthUnit.Kilometer))
            };
            var expectedBaseUnit       = LengthUnit.Centimeter;
            var expectedQuantityType   = QuantityType.Length;
            var expectedBaseDimensions = Length.BaseDimensions;

            var info = new QuantityInfo <LengthUnit>(expectedQuantityType, expectedUnitInfos,
                                                     expectedBaseUnit, expectedZero, expectedBaseDimensions);

            Assert.Equal(expectedZero, info.Zero);
            Assert.Equal("Length", info.Name);
            Assert.Equal(expectedUnitInfos, info.UnitInfos);
            Assert.Equal(expectedBaseDimensions, info.BaseDimensions);

            // Obsolete members
            Assert.Equal(expectedQuantityType, info.QuantityType);
            Assert.Equal(expectedBaseUnit, info.BaseUnit);
            Assert.Equal(new[] { "Centimeter", "Kilometer" }, info.UnitNames);
        }
예제 #2
0
        public void Length_Info_ReturnsQuantityInfoAboutLength()
        {
            QuantityInfo <LengthUnit> quantityInfo = Length.Info;

            AssertQuantityInfoRepresentsLength(quantityInfo);
        }
예제 #3
0
 protected override async Task Because()
 {
     _result = await sut.MapToModel(_snapshot, new SnapshotContext());
 }
예제 #4
0
 private KeyPathMap calculationKeyFor(QuantityInfo quantityInfo)
 {
     return(calculationKeyFor(quantityInfo.Path, quantityInfo.Type, removeFirstEntry: true));
 }
예제 #5
0
파일: Program.cs 프로젝트: lulzzz/iRadiate
        static void Main(string[] args)
        {
            logger.Info("                  ");
            logger.Info("******************");
            logger.Info("Start Test Application");
            //IQuantity mylength = Irradiance.FromKilowattsPerSquareCentimeter(5);
            //logger.Info(mylength);


            //var splits = mylength.ToString().Split(' ');
            //double value = Convert.ToDouble(splits[0]);
            //string units = splits[1];
            //logger.Info("SLIT: value = " + value + ", units = " + units);
            string       input  = "0.3 mV";
            var          splits = input.Split(' ');
            QuantityType qType  = QuantityType.ElectricPotential;
            QuantityInfo qInfo  = UnitsNet.Quantity.GetInfo(qType);

            logger.Info("Input string: " + input);
            logger.Info("qInfo: " + qInfo.ToString());
            var x = Quantity.TryParse(qInfo.ValueType, input, out IQuantity iq2);

            logger.Info("TryParse() result: " + x);
            if (x)
            {
                logger.Info(iq2);
                foreach (var u in qInfo.UnitInfos)
                {
                    var    converted = UnitConverter.Convert(iq2.Value, iq2.Unit, u.Value);
                    string abbrev    = UnitAbbreviationsCache.Default.GetDefaultAbbreviation(qInfo.UnitType, Convert.ToInt32(u.Value));
                    logger.Info(converted + " " + abbrev);
                }
            }

            //AddFirstUser();

            //List<DataDictionaryNameSpace> Dictionary = new List<DataDictionaryNameSpace>();

            //DataDictionaryNameSpace Clinical = new DataDictionaryNameSpace();
            //Clinical.Name = "Clinical";
            //DataDictionaryNameSpace Patient = new DataDictionaryNameSpace();
            //Patient.Name = "Patient";
            //Patient.ParentNameSpace = Clinical;
            //Clinical.NameSpaces.Add(Patient);

            //TextDataDictionaryEntry surname = new TextDataDictionaryEntry();
            //surname.Name = "Surname";
            //surname.NameSpace = Patient;
            //Patient.Entries.Add(surname);

            //MeasureableDataDictionaryEntry height = new MeasureableDataDictionaryEntry();
            //height.Name = "Height";
            //height.NameSpace = Patient;
            //height.QuantityType = QuantityType.Length;
            //Patient.Entries.Add(height);

            //logger.Debug("====== Data Dictionary ======");
            //DumpNameSpace(Clinical);

            //Dictionary.Add(Clinical);



            logger.Info("Finished Test Application");
            logger.Info("******************");
            logger.Info("                  ");
            Console.ReadLine();
        }
예제 #6
0
 protected override async Task Because()
 {
     _result = await sut.MapToModel(_snapshot);
 }