コード例 #1
0
        public void GetGravityPointTest()
        {
            const double specificGravity = 1.037;
            var          gravityUnit     = AlcoholUtility.GetGravityUnit(specificGravity);

            gravityUnit.Should().Be(37);
        }
コード例 #2
0
        public static Fermentable GetFermentable(XElement fermentableEntry)
        {
            var name              = GetNameFromRecord(fermentableEntry);
            var origin            = fermentableEntry.GetChildElementValue("ORIGIN");
            var notes             = GetNotesFromRecord(fermentableEntry);
            var type              = EnumConverter.Parse <FermentableType>(fermentableEntry.GetChildElementValue("TYPE"));
            var yieldValue        = Convert.ToSingle(fermentableEntry.GetChildElementValue("YIELD"));
            var yield             = type == FermentableType.Grain ? (float?)yieldValue : null;
            var color             = Convert.ToSingle(fermentableEntry.GetChildElementValue("COLOR"));
            var diastaticPower    = float.TryParse(fermentableEntry.GetChildElementValue("DIASTATIC_POWER"), out var diastaticPowerParsed) ? (float?)diastaticPowerParsed : null;
            var potential         = Convert.ToDouble(fermentableEntry.GetChildElementValue("POTENTIAL"));
            var maltCategoryValue = fermentableEntry.Element("malt-category")?.Value;
            var characteristics   = new FermentableCharacteristics(yield, color, diastaticPower)
            {
                Type          = type,
                YieldByWeight = type != FermentableType.Grain ? yieldValue : null,
                GravityPoint  = AlcoholUtility.GetGravityUnit(potential),
                MaltCategory  = maltCategoryValue != null?EnumConverter.Parse <MaltCategory>(maltCategoryValue) : null
            };

            return(new Fermentable(name, characteristics, notes, origin));
        }