Skip to content

Fix msbuild warnings, re-enable and treat all as errors #617

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 26, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
<RootNamespace>UnitsNet.Serialization.JsonNet.CompatibilityTests</RootNamespace>
<LangVersion>7.3</LangVersion>
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
<RootNamespace>UnitsNet.Serialization.JsonNet.Tests</RootNamespace>
<LangVersion>7.3</LangVersion>
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
<PropertyGroup>
<AssemblyVersion>4.0.0.0</AssemblyVersion> <!-- Should reflect major part of Version -->
<LangVersion>7.3</LangVersion>
<NoWarn>CS1701;CS1702;CS1705;CS0618</NoWarn>
<RootNamespace>UnitsNet.Serialization.JsonNet</RootNamespace>
<TargetFrameworks>netstandard2.0;net40</TargetFrameworks>
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
</PropertyGroup>

<!-- SourceLink -->
Expand Down
2 changes: 1 addition & 1 deletion UnitsNet.Tests/CustomCode/MolarityTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public void ExpectDensityConvertedToMolarityCorrectly()
{
var density = Density.FromKilogramsPerCubicMeter(60.02);
var mw = Mass.FromGrams(58.443);
var molarity = Molarity.FromDensity(density, mw).MolesPerCubicMeter;
var molarity = (density / mw).MolesPerCubicMeter;
AssertEx.EqualTolerance(1026.98355, molarity, MolesPerCubicMeterTolerance);
}

Expand Down
6 changes: 6 additions & 0 deletions UnitsNet.Tests/QuantityInfoTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,12 @@ public void Constructor_AssignsProperties()

Assert.Equal(expectedZero, info.Zero);
Assert.Equal("Length", info.Name);
// Obsolete members
#pragma warning disable 618
Assert.Equal(expectedUnits, info.Units);
Assert.Equal(expectedBaseUnit, info.BaseUnit);
Assert.Equal(new[]{"Centimeter", "Kilometer"}, info.UnitNames);
#pragma warning restore 618
Assert.Equal(expectedQuantityType, info.QuantityType);
Assert.Equal(expectedBaseDimensions, info.BaseDimensions);
}
Expand All @@ -44,9 +47,12 @@ public void GenericsConstructor_AssignsProperties()

Assert.Equal(expectedZero, info.Zero);
Assert.Equal("Length", info.Name);
// Obsolete members
#pragma warning disable 618
Assert.Equal(expectedUnits, info.Units);
Assert.Equal(expectedBaseUnit, info.BaseUnit);
Assert.Equal(new[]{"Centimeter", "Kilometer"}, info.UnitNames);
#pragma warning restore 618
Assert.Equal(expectedQuantityType, info.QuantityType);
Assert.Equal(expectedBaseDimensions, info.BaseDimensions);
}
Expand Down
6 changes: 6 additions & 0 deletions UnitsNet.Tests/QuantityTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,13 @@ public void GetInfo_GivenLength_ReturnsQuantityInfoForLength()

Assert.Equal("Length", quantityInfo.Name);
Assert.Equal(QuantityType.Length, quantityInfo.QuantityType);
// Obsolete members
#pragma warning disable 618
Assert.Superset(knownLengthUnitNames.ToHashSet(), quantityInfo.UnitNames.ToHashSet());
Assert.Superset(knownLengthUnits.ToHashSet(), quantityInfo.Units.ToHashSet());
Assert.Equal(lengthUnitCount, quantityInfo.UnitNames.Length);
Assert.Equal(lengthUnitCount, quantityInfo.Units.Length);
#pragma warning restore 618
Assert.Equal(typeof(LengthUnit), quantityInfo.UnitType);
Assert.Equal(typeof(Length), quantityInfo.ValueType);
Assert.Equal(Length.Zero, quantityInfo.Zero);
Expand All @@ -72,10 +75,13 @@ public void GetInfo_GivenMass_ReturnsQuantityInfoForMass()

Assert.Equal("Mass", quantityInfo.Name);
Assert.Equal(QuantityType.Mass, quantityInfo.QuantityType);
// Obsolete members
#pragma warning disable 618
Assert.Superset(knownMassUnitNames.ToHashSet(), quantityInfo.UnitNames.ToHashSet());
Assert.Superset(knownMassUnits.ToHashSet(), quantityInfo.Units.ToHashSet());
Assert.Equal(massUnitCount, quantityInfo.UnitNames.Length);
Assert.Equal(massUnitCount, quantityInfo.Units.Length);
#pragma warning restore 618
Assert.Equal(typeof(MassUnit), quantityInfo.UnitType);
Assert.Equal(typeof(Mass), quantityInfo.ValueType);
Assert.Equal(Mass.Zero, quantityInfo.Zero);
Expand Down
9 changes: 6 additions & 3 deletions UnitsNet.Tests/QuantityTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,16 @@ private static void AssertQuantityInfoRepresentsLength(QuantityInfo<LengthUnit>
{
Assert.Equal(Length.Zero, quantityInfo.Zero);
Assert.Equal("Length", quantityInfo.Name);

var lengthUnits = EnumUtils.GetEnumValues<LengthUnit>().Except(new[] {LengthUnit.Undefined}).ToArray();
Assert.Equal(lengthUnits, quantityInfo.Units);
Assert.Equal(QuantityType.Length, quantityInfo.QuantityType);

var lengthUnits = EnumUtils.GetEnumValues<LengthUnit>().Except(new[] {LengthUnit.Undefined}).ToArray();
var lengthUnitNames = lengthUnits.Select(x => x.ToString());

// Obsolete members
#pragma warning disable 618
Assert.Equal(lengthUnits, quantityInfo.Units);
Assert.Equal(lengthUnitNames, quantityInfo.UnitNames);
#pragma warning restore 618
}
}
}
4 changes: 2 additions & 2 deletions UnitsNet.Tests/UnitsNet.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<PropertyGroup>
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
<RootNamespace>UnitsNet.Tests</RootNamespace>
<NoWarn>CS1701;CS1702;CS1705;CS0618</NoWarn>
<LangVersion>7.3</LangVersion>
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
</PropertyGroup>

<ItemGroup>
Expand All @@ -25,4 +25,4 @@
<ProjectReference Include="..\UnitsNet\UnitsNet.csproj" />
</ItemGroup>

</Project>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<AllowCrossPlatformRetargeting>false</AllowCrossPlatformRetargeting>
<OutputPath>..\Artifacts\UnitsNet.WindowsRuntimeComponent</OutputPath>
<NoWarn>CS1701;CS1702;CS1705;CS0618;CS0809;CS1591</NoWarn>
<LangVersion>7.3</LangVersion>

<!-- SourceLink -->
Expand Down Expand Up @@ -135,4 +134,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
3 changes: 2 additions & 1 deletion UnitsNet.sln.DotSettings
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Gullberg/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
5 changes: 2 additions & 3 deletions UnitsNet/BaseUnits.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@

namespace UnitsNet
{
public sealed partial class BaseUnits : IEquatable<BaseUnits> { }

/// <inheritdoc />
/// <summary>
/// Represents the base units for a quantity. All quantities, both base and derived, can be
/// represented by a combination of these seven base units.
/// </summary>
public sealed partial class BaseUnits
public sealed class BaseUnits: IEquatable<BaseUnits>
{
/// <summary>
/// Creates an instance of if the base units class that represents the base units for a quantity.
Expand Down
6 changes: 5 additions & 1 deletion UnitsNet/CustomCode/GlobalConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
// ReSharper disable once CheckNamespace
namespace UnitsNet
{
public sealed class GlobalConfiguration
/// <summary>
/// Global configuration for culture, used as default culture in methods like <see cref="Length.ToString()" /> and
/// <see cref="Length.Parse(string)" />.
/// </summary>
public static class GlobalConfiguration
{
/// <summary>
/// Defaults to <see cref="CultureInfo.CurrentUICulture" /> when creating an instance with no culture provided.
Expand Down
2 changes: 2 additions & 0 deletions UnitsNet/CustomCode/Quantities/Angle.extra.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ namespace UnitsNet
{
public partial struct Angle
{
/// <summary>Get <see cref="RotationalSpeed"/> from <see cref="Angle"/> delta over time delta.</summary>
public static RotationalSpeed operator /(Angle angle, TimeSpan timeSpan)
{
return RotationalSpeed.FromRadiansPerSecond(angle.Radians / timeSpan.TotalSeconds);
}

/// <inheritdoc cref="op_Division(UnitsNet.Angle,System.TimeSpan)" />
public static RotationalSpeed operator /(Angle angle, Duration duration)
{
return RotationalSpeed.FromRadiansPerSecond(angle.Radians / duration.Seconds);
Expand Down
5 changes: 5 additions & 0 deletions UnitsNet/CustomCode/Quantities/Area.extra.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,34 @@ public partial struct Area
{
#region Static Methods

/// <summary>Get circle area from a diameter.</summary>
public static Area FromCircleDiameter(Length diameter)
{
var radius = Length.FromMeters(diameter.Meters / 2d);
return FromCircleRadius(radius);
}

/// <summary>Get circle area from a radius.</summary>
public static Area FromCircleRadius(Length radius)
{
return FromSquareMeters(Math.PI * radius.Meters * radius.Meters);
}

#endregion

/// <summary>Get <see cref="Length"/> from <see cref="Area"/> divided by <see cref="Length"/>.</summary>
public static Length operator /(Area area, Length length)
{
return Length.FromMeters(area.SquareMeters / length.Meters);
}

/// <summary>Get <see cref="MassFlow"/> from <see cref="Area"/> times <see cref="MassFlux"/>.</summary>
public static MassFlow operator *(Area area, MassFlux massFlux)
{
return MassFlow.FromGramsPerSecond(area.SquareMeters * massFlux.GramsPerSecondPerSquareMeter);
}

/// <summary>Get <see cref="VolumeFlow"/> from <see cref="Area"/> times <see cref="Speed"/>.</summary>
public static VolumeFlow operator *(Area area, Speed speed)
{
return VolumeFlow.FromCubicMetersPerSecond(area.SquareMeters * speed.MetersPerSecond);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,19 @@ namespace UnitsNet
{
public partial struct BrakeSpecificFuelConsumption
{
/// <summary>Get <see cref="MassFlow"/> from <see cref="BrakeSpecificFuelConsumption"/> times <see cref="Power"/>.</summary>
public static MassFlow operator *(BrakeSpecificFuelConsumption bsfc, Power power)
{
return MassFlow.FromKilogramsPerSecond(bsfc.KilogramsPerJoule*power.Watts);
}

/// <summary>Get <see cref="SpecificEnergy"/> from <paramref name="value"/> divided by <see cref="BrakeSpecificFuelConsumption"/>.</summary>
public static SpecificEnergy operator /(double value, BrakeSpecificFuelConsumption bsfc)
{
return SpecificEnergy.FromJoulesPerKilogram(value/bsfc.KilogramsPerJoule);
}

/// <summary>Get constant from <see cref="BrakeSpecificFuelConsumption"/> times <see cref="SpecificEnergy"/>.</summary>
public static double operator *(BrakeSpecificFuelConsumption bsfc, SpecificEnergy specificEnergy)
{
return specificEnergy.JoulesPerKilogram*bsfc.KilogramsPerJoule;
Expand Down
13 changes: 11 additions & 2 deletions UnitsNet/CustomCode/Quantities/Density.extra.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,38 +21,47 @@ public Molarity ToMolarity(Mass molecularWeight)
/// <summary>
/// Get <see cref="Density" /> from <see cref="Molarity" />.
/// </summary>
/// <param name="molarity"></param>
/// <param name="molecularWeight"></param>
public static Density FromMolarity(Molarity molarity, Mass molecularWeight)
{
return new Density(molarity.MolesPerCubicMeter * molecularWeight.Kilograms, DensityUnit.KilogramPerCubicMeter);
}

#endregion

/// <summary>Get <see cref="Mass"/> from <see cref="Density"/> times <see cref="Volume"/>.</summary>
public static Mass operator *(Density density, Volume volume)
{
return Mass.FromKilograms(density.KilogramsPerCubicMeter * volume.CubicMeters);
}

/// <summary>Get <see cref="Mass"/> from <see cref="Volume"/> times <see cref="Density"/>.</summary>
public static Mass operator *(Volume volume, Density density)
{
return Mass.FromKilograms(density.KilogramsPerCubicMeter * volume.CubicMeters);
}

/// <summary>Get <see cref="DynamicViscosity"/> from <see cref="Density"/> times <see cref="KinematicViscosity"/>.</summary>
public static DynamicViscosity operator *(Density density, KinematicViscosity kinematicViscosity)
{
return DynamicViscosity.FromNewtonSecondsPerMeterSquared(kinematicViscosity.SquareMetersPerSecond * density.KilogramsPerCubicMeter);
}

/// <summary>Get <see cref="MassFlux"/> <see cref="Density"/> times <see cref="Speed"/>.</summary>
public static MassFlux operator *(Density density, Speed speed)
{
return MassFlux.FromKilogramsPerSecondPerSquareMeter(density.KilogramsPerCubicMeter * speed.MetersPerSecond);
}

/// <summary>Get <see cref="SpecificWeight"/> from <see cref="Density"/> times <see cref="Acceleration"/>.</summary>
public static SpecificWeight operator *(Density density, Acceleration acceleration)
{
return new SpecificWeight(density.KilogramsPerCubicMeter * acceleration.MetersPerSecondSquared, SpecificWeightUnit.NewtonPerCubicMeter);
}

/// <summary>Get <see cref="Molarity"/> from <see cref="Density"/> divided by <see cref="Mass"/>.</summary>
public static Molarity operator /(Density density, Mass molecularWeight)
{
return new Molarity(density.KilogramsPerCubicMeter / molecularWeight.Kilograms, MolarityUnit.MolesPerCubicMeter);
}
}
}
13 changes: 13 additions & 0 deletions UnitsNet/CustomCode/Quantities/Duration.extra.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,66 +20,79 @@ public TimeSpan ToTimeSpan()
return TimeSpan.FromSeconds( Seconds );
}

/// <summary>Get <see cref="DateTime"/> from <see cref="DateTime"/> plus <see cref="Duration"/>.</summary>
public static DateTime operator +(DateTime time, Duration duration)
{
return time.AddSeconds(duration.Seconds);
}

/// <summary>Get <see cref="DateTime"/> from <see cref="DateTime"/> minus <see cref="Duration"/>.</summary>
public static DateTime operator -(DateTime time, Duration duration)
{
return time.AddSeconds(-duration.Seconds);
}

/// <summary>Explicitly cast <see cref="Duration"/> to <see cref="TimeSpan"/>.</summary>
public static explicit operator TimeSpan(Duration duration)
{
return duration.ToTimeSpan();
}

/// <summary>Explicitly cast <see cref="TimeSpan"/> to <see cref="Duration"/>.</summary>
public static explicit operator Duration(TimeSpan duration)
{
return FromSeconds(duration.TotalSeconds);
}

/// <summary>True if <see cref="Duration"/> is less than <see cref="TimeSpan"/>.</summary>
public static bool operator <(Duration duration, TimeSpan timeSpan)
{
return duration.Seconds < timeSpan.TotalSeconds;
}

/// <summary>True if <see cref="Duration"/> is greater than <see cref="TimeSpan"/>.</summary>
public static bool operator >(Duration duration, TimeSpan timeSpan)
{
return duration.Seconds > timeSpan.TotalSeconds;
}

/// <summary>True if <see cref="Duration"/> is less than or equal to <see cref="TimeSpan"/>.</summary>
public static bool operator <=(Duration duration, TimeSpan timeSpan)
{
return duration.Seconds <= timeSpan.TotalSeconds;
}

/// <summary>True if <see cref="Duration"/> is greater than or equal to <see cref="TimeSpan"/>.</summary>
public static bool operator >=(Duration duration, TimeSpan timeSpan)
{
return duration.Seconds >= timeSpan.TotalSeconds;
}

/// <summary>True if <see cref="TimeSpan"/> is less than <see cref="Duration"/>.</summary>
public static bool operator <(TimeSpan timeSpan, Duration duration)
{
return timeSpan.TotalSeconds < duration.Seconds;
}

/// <summary>True if <see cref="TimeSpan"/> is greater than <see cref="Duration"/>.</summary>
public static bool operator >(TimeSpan timeSpan, Duration duration)
{
return timeSpan.TotalSeconds > duration.Seconds;
}

/// <summary>True if <see cref="TimeSpan"/> is less than or equal to <see cref="Duration"/>.</summary>
public static bool operator <=(TimeSpan timeSpan, Duration duration)
{
return timeSpan.TotalSeconds <= duration.Seconds;
}

/// <summary>True if <see cref="TimeSpan"/> is greater than or equal to <see cref="Duration"/>.</summary>
public static bool operator >=(TimeSpan timeSpan, Duration duration)
{
return timeSpan.TotalSeconds >= duration.Seconds;
}

/// <summary>Get <see cref="Volume"/> from <see cref="Duration"/> times <see cref="VolumeFlow"/>.</summary>
public static Volume operator *(Duration duration, VolumeFlow volumeFlow)
{
return Volume.FromCubicMeters(volumeFlow.CubicMetersPerSecond * duration.Seconds);
Expand Down
1 change: 1 addition & 0 deletions UnitsNet/CustomCode/Quantities/DynamicViscosity.extra.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ namespace UnitsNet
{
public partial struct DynamicViscosity
{
/// <summary>Get <see cref="KinematicViscosity"/> from <see cref="DynamicViscosity"/> divided by <see cref="Density"/>.</summary>
public static KinematicViscosity operator /(DynamicViscosity dynamicViscosity, Density density)
{
return KinematicViscosity.FromSquareMetersPerSecond(dynamicViscosity.NewtonSecondsPerMeterSquared / density.KilogramsPerCubicMeter);
Expand Down
Loading