public void Constructor_InvalidDna_ThrowsException() { // Arrange var invalidDna = new QuantityDna { QuantityType = QuantityType.Area }; // Act and assert Assert.Throws <ArgumentException>(() => new LengthMetric(invalidDna, 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)); }
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); }
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)); }
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)); }
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); }); }
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")); }
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); }); }
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³")); }
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)); }
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)); }