Beispiel #1
0
        public static Quantity ToUnitsOfMeasureQuantity(this FM.Quantity input)
        {
            Metric      metric = (input.Code != null) ? System.Metric(input.Code) : new Metric(new List <Metric.Axis>());
            Exponential value  = input.Value ?? 1; //todo: is this assumption correct?

            return(new Quantity(value, metric));
        }
Beispiel #2
0
        public void Validation()
        {
            UcumTestSet tests = new UcumTestSet();

            foreach (UcumTestSet.Validation v in tests.Validations())
            {
                try
                {
                    Metric m = system.Metric(v.Unit);

                    if (!v.Valid)
                    {
                        throw new AssertFailedException(string.Format($"Test {v.Id} succeeded, but should not have. Reason: '{v.Reason}'"));
                    }
                }
                catch (Exception e)
                {
                    if (e is AssertFailedException)
                    {
                        throw;
                    }
                    else if (v.Valid)
                    {
                        throw new Exception(string.Format("Test {0} failed", v.Id));
                    }
                }
            }
        }
Beispiel #3
0
        public void MixedAlgebra()
        {
            Metric meter  = system.Metric("m");
            Metric second = system.Metric("s");

            Quantity q = 4.0m * meter / second;

            Metric speed = meter / second;

            Assert.Equal(speed, q.Metric);
        }
Beispiel #4
0
        public void ConversionPath()
        {
            Metric cm = system.Metric("cm");
            Metric ci = system.Metric("Ci");
            Metric bq = system.Metric("Bq");

            List <Conversion> can = system.Conversions.Path(ci, x => x.To.Equals(bq));

            Assert.Single(can);

            List <Conversion> cannot = system.Conversions.Path(cm, x => x.To.Equals(bq));

            Assert.Null(cannot);
        }
Beispiel #5
0
        public void Parsing()
        {
            Metric metric;

            metric = system.Metric("J/s");
            Assert.Equal(2, metric.Axes.Count);

            metric = system.Metric("[ft_i].[lbf_av]/s");
            Assert.Equal(3, metric.Axes.Count);
        }