private void ValidateScaleUnit(ScaleUnit scaleUnit)
        {
            FabricCommon.ValidateResource(scaleUnit);

            Assert.NotNull(scaleUnit.LogicalFaultDomain);
            Assert.NotNull(scaleUnit.ScaleUnitType);
            Assert.NotNull(scaleUnit.State);
            Assert.NotNull(scaleUnit.TotalCapacity);
        }
Example #2
0
 static Temperature()
 {
     Kelvin         = new ScaleUnit <Temperature>(_udic, 1);
     Celsius        = new ScaleUnit <Temperature>(_udic, 1, -273.15);
     Fahrenheit     = new ScaleUnit <Temperature>(_udic, 9 / 5.0, -459.67);
     DefaultParsers = new Lazy <Funnel <string, Temperature> >(() => new Funnel <string, Temperature>(
                                                                   new Parser <Temperature>($@"^({CommonRegex.RegexDouble}) ?(k|kelvin)$", m => new Temperature(double.Parse(m.Groups[1].Value), Kelvin)),
                                                                   new Parser <Temperature>($@"^({CommonRegex.RegexDouble}) ?(f|fahrenheit)$", m => new Temperature(double.Parse(m.Groups[1].Value), Fahrenheit)),
                                                                   new Parser <Temperature>($@"^({CommonRegex.RegexDouble}) ?(c|celsius)$", m => new Temperature(double.Parse(m.Groups[1].Value), Celsius))
                                                                   ));
 }
Example #3
0
    protected override void OnClose()
    {
        if (Target == null)
        {
            return;
        }
        ScaleUnit sunit = Adaptor.GetUnit <ScaleUnit>();

        if (sunit == null)
        {
            return;
        }
        SetScale(1 / sunit.Scale);
        Target.gameObject.SetActive(false);
        Target.Stop();
    }
Example #4
0
    protected override void OnRun()
    {
        if (Target == null)
        {
            return;
        }
        ScaleUnit sunit = Adaptor.GetUnit <ScaleUnit>();

        if (sunit == null)
        {
            return;
        }
        SetScale(sunit.Scale);
        Target.gameObject.SetActive(true);
        Target.Play();
    }
Example #5
0
        public ImperialUnitSystem()
        {
            //length
            ft   = new ScaleUnit("ft", "feet", FeetToMetres, Unit.SI.m, this);
            @in  = new ScaleUnit("in", "inch", 1D / 12, ft);
            thou = new ScaleUnit("th", "thou", 1D / 1000, @in);
            ya   = new ScaleUnit("yd", "yard", 3, ft);
            ch   = new ScaleUnit("ch", "chain", 22, ya);
            fur  = new ScaleUnit("fur", "furlong", 10, ch);
            mi   = new ScaleUnit("mi", "mile", 8, fur);
            lea  = new ScaleUnit("lea", "league", 3, mi);
            rod  = new ScaleUnit("rod", "rod", 1D / 4, ch);
            link = new ScaleUnit("link", "link", 1D / 25, rod);

            //area
            acre  = new DerivedUnit("acre", "acre", fur * ch);
            rood  = new DerivedUnit("rood", "rood", fur * rod);
            perch = new DerivedUnit("perch", "perch", rod ^ 2);

            //volume
            _cubic_inch = @in ^ 3;
            pt          = new ScaleUnit("pt", "pint", CubicInchToPint, _cubic_inch);
            gi          = new ScaleUnit("gi", "gill", 1D / 4, pt);
            fl_oz       = new ScaleUnit("fl oz", "fluid ounce", 1D / 5, gi);
            qt          = new ScaleUnit("qt", "quart", 2, pt);
            gal         = new ScaleUnit("gal", "gallon", 4, qt);

            //weight
            lb  = new ScaleUnit("lb", "pound", PoundToKilogram, Unit.SI.kg, this);
            oz  = new ScaleUnit("oz", "ounce", 1D / 16, lb);
            drc = new ScaleUnit("drc", "drachm", 1D / 16, oz);
            gr  = new ScaleUnit("gr", "grain", 1D / 7000, lb);
            st  = new ScaleUnit("st", "stone", 14, lb);
            qtr = new ScaleUnit("qtr", "quarter", 28, lb);
            cwt = new ScaleUnit("cwt", "hundredweight", 4, qtr);
            t   = new ScaleUnit("t", "ton", 20, cwt);
        }
        private void AssertScaleUnitsAreSame(ScaleUnit expected, ScaleUnit found)
        {
            if (expected == null)
            {
                Assert.Null(found);
            }
            else
            {
                Assert.True(FabricCommon.ResourceAreSame(expected, found));

                Assert.Equal(expected.LogicalFaultDomain, found.LogicalFaultDomain);
                Assert.Equal(expected.Model, found.Model);

                if (expected.Nodes == null)
                {
                    Assert.Null(found.Nodes);
                }
                else
                {
                    Assert.Equal(expected.Nodes.Count, found.Nodes.Count);
                }

                Assert.Equal(expected.ScaleUnitType, found.ScaleUnitType);
                Assert.Equal(expected.State, found.State);

                if (expected.TotalCapacity == null)
                {
                    Assert.Null(found.TotalCapacity);
                }
                else
                {
                    Assert.Equal(expected.TotalCapacity.Cores, found.TotalCapacity.Cores);
                    Assert.Equal(expected.TotalCapacity.MemoryGB, found.TotalCapacity.MemoryGB);
                }
            }
        }
Example #7
0
 public abstract T Visit(ScaleUnit v);