public void ConvertFrom_GivenWrongQuantity_ThrowsArgumentException() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Assert.Throws <ArgumentException>(() => converter.ConvertFrom(context, culture, "1m^2")); }
public void ConvertFrom_GivenEmptyString_ThrowsNotSupportedException() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Assert.Throws <NotSupportedException>(() => converter.ConvertFrom(context, culture, "")); }
public void ConvertFrom_GivenStringWithPower_4() { var converter = new QuantityTypeConverter <AreaMomentOfInertia>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Assert.Equal(AreaMomentOfInertia.FromMetersToTheFourth(1), converter.ConvertFrom(context, culture, "1m⁴")); Assert.Equal(AreaMomentOfInertia.FromMetersToTheFourth(1), converter.ConvertFrom(context, culture, "1m^4")); }
public void ConvertFrom_GivenStringWithPower_3() { var converter = new QuantityTypeConverter <Volume>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Assert.Equal(Volume.FromCubicMeters(1), converter.ConvertFrom(context, culture, "1m³")); Assert.Equal(Volume.FromCubicMeters(1), converter.ConvertFrom(context, culture, "1m^3")); }
public void ConvertFrom_GivenStringWithPower_2() { var converter = new QuantityTypeConverter <Area>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Assert.Equal(Area.FromSquareMeters(1), converter.ConvertFrom(context, culture, "1m²")); Assert.Equal(Area.FromSquareMeters(1), converter.ConvertFrom(context, culture, "1m^2")); }
public void ConvertFrom_GivenStringWithPower_1() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Assert.Equal(Length.FromMeters(1), converter.ConvertFrom(context, culture, "1m")); Assert.Equal(Length.FromMeters(1), converter.ConvertFrom(context, culture, "1m^1")); }
public void ConvertTo_GivenWrongType_ThrowsNotSupportedException(Type value) { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Length length = Length.FromMeters(1); Assert.Throws <NotSupportedException>(() => converter.ConvertTo(length, value)); }
public void ConvertFrom_GivenDefaultUnitAttributeWithWrongUnitType_ThrowsArgumentException() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { new DefaultUnitAttribute(Units.VolumeUnit.CubicMeter) }); Assert.Throws <ArgumentException>(() => converter.ConvertFrom(context, culture, "1")); }
public void ConvertTo_GivenSomeQuantitysAndContextWithNoAttributes_ReturnsQuantityStringInUnitOfQuantity() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Length length = Length.FromMeters(1); string convertedQuantity = (string)converter.ConvertTo(context, culture, length, typeof(string)); Assert.Equal("1 m", convertedQuantity); }
public void ConvertTo_GivenStringType_ReturnsQuantityString() { var converter = new QuantityTypeConverter <Length>(Length.Zero); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { }); Length length = Length.FromMeters(1); string convertedQuantity = (string)converter.ConvertTo(length, typeof(string)); Assert.Equal("1 m", convertedQuantity); }
public void ConvertTo_GivenSomeQuantityAndContextWithoutProperty_ReturnsQuantityStringInUnitOfQuantity() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext(); Length length = Length.FromMeters(1); string convertedQuantity = (string)converter.ConvertTo(context, culture, length, typeof(string)); Assert.Equal("1 m", convertedQuantity); }
public void ConvertTo_TestDisplayAsFormattingWithoutDefinedUnit_ReturnsQuantityStringWithQuantetiesUnitAndFormatedAsValueOnly() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { new DisplayAsUnitAttribute(null, "v") }); Length length = Length.FromMeters(1); string convertedQuantity = (string)converter.ConvertTo(context, culture, length, typeof(string)); Assert.Equal("1", convertedQuantity); }
public void ConvertTo_TestDisplayAsFormatting_ReturnsQuantityStringWithDisplayUnitFormateAsValueOnly() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { new DisplayAsUnitAttribute(Units.LengthUnit.Decimeter, "v") }); Length length = Length.FromMeters(1); string convertedQuantity = (string)converter.ConvertTo(context, culture, length, typeof(string)); Assert.Equal("10", convertedQuantity); }
public void ConvertFrom_GivenQuantityStringAndContextWithDefaultUnitAttribute_ReturnsQuantityWithGivenDefaultUnitIfNotSpecified(string str, double expectedValue, Enum expectedUnit) { var converter = new QuantityTypeConverter <Length>(Length.Zero); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { new DefaultUnitAttribute(Units.LengthUnit.Centimeter) }); var convertedValue = (Length)converter.ConvertFrom(context, culture, str); Assert.Equal(expectedValue, convertedValue.Value); Assert.Equal(expectedUnit, convertedValue.Unit); }
public void ConvertTo_GivenSomeQuantitysAndContextWithDisplayAsUnitAttributes_ReturnsQuantityStringInSpecifiedDisplayUnit() { var converter = new QuantityTypeConverter <Length>(); ITypeDescriptorContext context = new TypeDescriptorContext("SomeMemberName", new Attribute[] { new DisplayAsUnitAttribute(Units.LengthUnit.Decimeter) }); Length length = Length.FromMeters(1); string convertedQuantityDefaultCulture = (string)converter.ConvertTo(length, typeof(string)); string convertedQuantitySpecificCulture = (string)converter.ConvertTo(context, culture, length, typeof(string)); Assert.Equal("1 m", convertedQuantityDefaultCulture); Assert.Equal("10 dm", convertedQuantitySpecificCulture); }