Ejemplo n.º 1
0
        public void Constructor_InvalidDna_ThrowsException()
        {
            // Arrange
            var invalidDna = new QuantityDna
            {
                QuantityType = QuantityType.Area
            };

            // Act and assert
            Assert.Throws <ArgumentException>(() => new LengthMetric(invalidDna, 0));
        }
Ejemplo n.º 2
0
        public void FromInt_FromValidDna_ExpectedValue()
        {
            // Act
            var actualResult = QuantityDna.FromInt(1001002);

            // Assert
            Assert.That(actualResult.QuantityType, Is.EqualTo(QuantityType.Length));
            Assert.That(actualResult.UnitType, Is.EqualTo((ushort)Length.LengthUnit.Metric));
            Assert.That(actualResult.UnitSubType, Is.EqualTo((ushort)QuantityMetric.MetricPrefix.Centi));
            Assert.That(actualResult.Precision, Is.EqualTo(2));
        }
Ejemplo n.º 3
0
        public static QuantityDna FromInt(uint fromValue)
        {
            var result = new QuantityDna
            {
                Precision    = (ushort)(fromValue % 100),
                UnitSubType  = (ushort)((fromValue /= 100) % 100),
                UnitType     = (ushort)((fromValue /= 100) % 100),
                QuantityType = (QuantityType)(fromValue / 100)
            };

            return(result);
        }
Ejemplo n.º 4
0
        public void FromDna_InvalidDna_ThrowsException()
        {
            // Arrange
            // Arrange
            var dna = new QuantityDna
            {
                QuantityType = (QuantityType)ushort.MaxValue,
            };

            // Act and assert
            Assert.Throws <ArgumentException>(() => QuantityFactory.FromDna(dna, 0));
        }
Ejemplo n.º 5
0
        public void LengthFromDna_ValidDna_CreatesQuantity(QuantityType type, ushort unitType, Type expectedType)
        {
            // Arrange
            var dna = new QuantityDna
            {
                QuantityType = type,
                UnitType     = unitType
            };

            // Act
            var result = QuantityFactory.LengthFromDna(dna, 0);

            // Assert
            Assert.That(result.GetType(), Is.EqualTo(expectedType));
        }
Ejemplo n.º 6
0
        public void Constructor_InvalidDna_ThrowsException()
        {
            // Arrange
            var invalidDna = new QuantityDna
            {
                QuantityType = QuantityType.Length,
                UnitType     = (ushort)Length.LengthUnit.Metric,
                UnitSubType  = (ushort)LengthImperial.ImperialLengthUnit.Inch,
                Precision    = 2
            };

            // Act and Assert
            Assert.Throws <ArgumentException>(() =>
            {
                var unused = new LengthImperial(invalidDna, 21.09);
            });
        }
Ejemplo n.º 7
0
        public void Constructor_WithValidDna_CreatesLengthUsCustomary()
        {
            // Arrange
            var validDna = new QuantityDna
            {
                QuantityType = QuantityType.Length,
                UnitType     = (ushort)Length.LengthUnit.Imperial,
                UnitSubType  = (ushort)LengthImperial.ImperialLengthUnit.Inch,
                Precision    = 2
            };

            // Act
            var unitUnderTest = new LengthImperial(validDna, 21.09);

            // Assert
            Assert.That(unitUnderTest.ToString(), Is.EqualTo("21,09in"));
        }
Ejemplo n.º 8
0
        public void Constructor_InvalidDna_ThrowsException()
        {
            // Arrange
            var invalidDna = new QuantityDna
            {
                QuantityType = QuantityType.Length,
                UnitType     = (ushort)Volume.VolumeUnit.Liter,
                UnitSubType  = (ushort)QuantityMetric.MetricPrefix.Base,
                Precision    = 2
            };

            // Act and Assert
            Assert.Throws <ArgumentException>(() =>
            {
                var unused = new VolumeMetric(invalidDna, 21.09);
            });
        }
Ejemplo n.º 9
0
        public void Constructor_WithValidDna_CreatesVolumeMetric()
        {
            // Arrange
            var validDna = new QuantityDna
            {
                QuantityType = QuantityType.Volume,
                UnitType     = (ushort)Volume.VolumeUnit.Metric,
                UnitSubType  = (ushort)QuantityMetric.MetricPrefix.Base,
                Precision    = 2
            };

            // Act
            var unitUnderTest = new VolumeMetric(validDna, 21.09);

            // Assert
            Assert.That(unitUnderTest.ToString(), Is.EqualTo("21,09m³"));
        }
Ejemplo n.º 10
0
        public void ToInt_FromValidDna_ExpectedValue()
        {
            // Arrange
            var unitUnderTest = new QuantityDna()
            {
                QuantityType = QuantityType.Length,
                UnitType     = (ushort)Length.LengthUnit.Metric,
                UnitSubType  = (ushort)QuantityMetric.MetricPrefix.Centi,
                Precision    = 2
            };

            var expectedResult = 1001002;

            // Act
            var actualResult = unitUnderTest.ToInt();

            // Assert
            Assert.That(actualResult, Is.EqualTo(expectedResult));
        }
Ejemplo n.º 11
0
        public void FromDna_ValidDna_QuantityCreated(QuantityType actualType, ushort actualSubType, ushort actualPrefix, Type expectedType)
        {
            // Arrange
            var dna = new QuantityDna()
            {
                QuantityType = actualType,
                UnitType     = actualSubType,
                UnitSubType  = actualPrefix
            };

            const int value = 100;

            // Act
            var actualResult = QuantityFactory.FromDna(dna, value);

            // Assert
            Assert.That(actualResult, Is.InstanceOf(expectedType));
            Assert.That(actualResult.Value, Is.EqualTo(value));
            Assert.That(actualResult.UnitSubType, Is.EqualTo(actualPrefix));
        }