Skip to content

Commit e51cd52

Browse files
Ferit Tunçerangularsen
Ferit Tunçer
authored andcommitted
Add MolarEnergy (#309)
1 parent 1fad2bb commit e51cd52

File tree

8 files changed

+1428
-0
lines changed

8 files changed

+1428
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
//------------------------------------------------------------------------------
2+
// <auto-generated>
3+
// This code was generated (once) by \generate-code.bat, but will not be
4+
// regenerated when it already exists. The purpose of creating this file is to make
5+
// it easier to remember to implement all the unit conversion test cases.
6+
//
7+
// Whenever a new unit is added to this quantity and \generate-code.bat is run,
8+
// the base test class will get a new abstract property and cause a compile error
9+
// in this derived class, reminding the developer to implement the test case
10+
// for the new unit.
11+
//
12+
// See https://github.com/angularsen/UnitsNet/wiki/Adding-a-New-Unit for how to add or edit units.
13+
//
14+
// Add CustomCode\Quantities\MyUnit.extra.cs files to add code to generated quantities.
15+
// Add Extensions\MyUnitExtensions.cs to decorate quantities with new behavior.
16+
// Add UnitDefinitions\MyUnit.json and run GeneratUnits.bat to generate new units or quantities.
17+
//
18+
// </auto-generated>
19+
//------------------------------------------------------------------------------
20+
21+
// Copyright (c) 2007 Andreas Gullberg Larsen ([email protected]).
22+
// https://github.com/angularsen/UnitsNet
23+
//
24+
// Permission is hereby granted, free of charge, to any person obtaining a copy
25+
// of this software and associated documentation files (the "Software"), to deal
26+
// in the Software without restriction, including without limitation the rights
27+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
28+
// copies of the Software, and to permit persons to whom the Software is
29+
// furnished to do so, subject to the following conditions:
30+
//
31+
// The above copyright notice and this permission notice shall be included in
32+
// all copies or substantial portions of the Software.
33+
//
34+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
40+
// THE SOFTWARE.
41+
42+
43+
using System;
44+
45+
namespace UnitsNet.Tests.CustomCode
46+
{
47+
public class MolarEnergyTests : MolarEnergyTestsBase
48+
{
49+
protected override double JoulesPerMoleInOneJoulePerMole => 1e0;
50+
protected override double KilojoulesPerMoleInOneJoulePerMole => 1e-3;
51+
protected override double MegajoulesPerMoleInOneJoulePerMole => 1e-6;
52+
}
53+
}
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
//------------------------------------------------------------------------------
2+
// <auto-generated>
3+
// This code was generated by \generate-code.bat.
4+
//
5+
// Changes to this file will be lost when the code is regenerated.
6+
// The build server regenerates the code before each build and a pre-build
7+
// step will regenerate the code on each local build.
8+
//
9+
// See https://github.com/angularsen/UnitsNet/wiki/Adding-a-New-Unit for how to add or edit units.
10+
//
11+
// Add CustomCode\Quantities\MyUnit.extra.cs files to add code to generated quantities.
12+
// Add Extensions\MyUnitExtensions.cs to decorate quantities with new behavior.
13+
// Add UnitDefinitions\MyUnit.json and run GeneratUnits.bat to generate new units or quantities.
14+
//
15+
// </auto-generated>
16+
//------------------------------------------------------------------------------
17+
18+
// Copyright (c) 2007 Andreas Gullberg Larsen ([email protected]).
19+
// https://github.com/angularsen/UnitsNet
20+
//
21+
// Permission is hereby granted, free of charge, to any person obtaining a copy
22+
// of this software and associated documentation files (the "Software"), to deal
23+
// in the Software without restriction, including without limitation the rights
24+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25+
// copies of the Software, and to permit persons to whom the Software is
26+
// furnished to do so, subject to the following conditions:
27+
//
28+
// The above copyright notice and this permission notice shall be included in
29+
// all copies or substantial portions of the Software.
30+
//
31+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
37+
// THE SOFTWARE.
38+
39+
using System;
40+
using UnitsNet.Units;
41+
using Xunit;
42+
43+
// Disable build warning CS1718: Comparison made to same variable; did you mean to compare something else?
44+
#pragma warning disable 1718
45+
46+
// ReSharper disable once CheckNamespace
47+
namespace UnitsNet.Tests
48+
{
49+
/// <summary>
50+
/// Test of MolarEnergy.
51+
/// </summary>
52+
// ReSharper disable once PartialTypeWithSinglePart
53+
public abstract partial class MolarEnergyTestsBase
54+
{
55+
protected abstract double JoulesPerMoleInOneJoulePerMole { get; }
56+
protected abstract double KilojoulesPerMoleInOneJoulePerMole { get; }
57+
protected abstract double MegajoulesPerMoleInOneJoulePerMole { get; }
58+
59+
// ReSharper disable VirtualMemberNeverOverriden.Global
60+
protected virtual double JoulesPerMoleTolerance { get { return 1e-5; } }
61+
protected virtual double KilojoulesPerMoleTolerance { get { return 1e-5; } }
62+
protected virtual double MegajoulesPerMoleTolerance { get { return 1e-5; } }
63+
// ReSharper restore VirtualMemberNeverOverriden.Global
64+
65+
[Fact]
66+
public void JoulePerMoleToMolarEnergyUnits()
67+
{
68+
MolarEnergy joulepermole = MolarEnergy.FromJoulesPerMole(1);
69+
AssertEx.EqualTolerance(JoulesPerMoleInOneJoulePerMole, joulepermole.JoulesPerMole, JoulesPerMoleTolerance);
70+
AssertEx.EqualTolerance(KilojoulesPerMoleInOneJoulePerMole, joulepermole.KilojoulesPerMole, KilojoulesPerMoleTolerance);
71+
AssertEx.EqualTolerance(MegajoulesPerMoleInOneJoulePerMole, joulepermole.MegajoulesPerMole, MegajoulesPerMoleTolerance);
72+
}
73+
74+
[Fact]
75+
public void FromValueAndUnit()
76+
{
77+
AssertEx.EqualTolerance(1, MolarEnergy.From(1, MolarEnergyUnit.JoulePerMole).JoulesPerMole, JoulesPerMoleTolerance);
78+
AssertEx.EqualTolerance(1, MolarEnergy.From(1, MolarEnergyUnit.KilojoulePerMole).KilojoulesPerMole, KilojoulesPerMoleTolerance);
79+
AssertEx.EqualTolerance(1, MolarEnergy.From(1, MolarEnergyUnit.MegajoulePerMole).MegajoulesPerMole, MegajoulesPerMoleTolerance);
80+
}
81+
82+
[Fact]
83+
public void As()
84+
{
85+
var joulepermole = MolarEnergy.FromJoulesPerMole(1);
86+
AssertEx.EqualTolerance(JoulesPerMoleInOneJoulePerMole, joulepermole.As(MolarEnergyUnit.JoulePerMole), JoulesPerMoleTolerance);
87+
AssertEx.EqualTolerance(KilojoulesPerMoleInOneJoulePerMole, joulepermole.As(MolarEnergyUnit.KilojoulePerMole), KilojoulesPerMoleTolerance);
88+
AssertEx.EqualTolerance(MegajoulesPerMoleInOneJoulePerMole, joulepermole.As(MolarEnergyUnit.MegajoulePerMole), MegajoulesPerMoleTolerance);
89+
}
90+
91+
[Fact]
92+
public void ConversionRoundTrip()
93+
{
94+
MolarEnergy joulepermole = MolarEnergy.FromJoulesPerMole(1);
95+
AssertEx.EqualTolerance(1, MolarEnergy.FromJoulesPerMole(joulepermole.JoulesPerMole).JoulesPerMole, JoulesPerMoleTolerance);
96+
AssertEx.EqualTolerance(1, MolarEnergy.FromKilojoulesPerMole(joulepermole.KilojoulesPerMole).JoulesPerMole, KilojoulesPerMoleTolerance);
97+
AssertEx.EqualTolerance(1, MolarEnergy.FromMegajoulesPerMole(joulepermole.MegajoulesPerMole).JoulesPerMole, MegajoulesPerMoleTolerance);
98+
}
99+
100+
[Fact]
101+
public void ArithmeticOperators()
102+
{
103+
MolarEnergy v = MolarEnergy.FromJoulesPerMole(1);
104+
AssertEx.EqualTolerance(-1, -v.JoulesPerMole, JoulesPerMoleTolerance);
105+
AssertEx.EqualTolerance(2, (MolarEnergy.FromJoulesPerMole(3)-v).JoulesPerMole, JoulesPerMoleTolerance);
106+
AssertEx.EqualTolerance(2, (v + v).JoulesPerMole, JoulesPerMoleTolerance);
107+
AssertEx.EqualTolerance(10, (v*10).JoulesPerMole, JoulesPerMoleTolerance);
108+
AssertEx.EqualTolerance(10, (10*v).JoulesPerMole, JoulesPerMoleTolerance);
109+
AssertEx.EqualTolerance(2, (MolarEnergy.FromJoulesPerMole(10)/5).JoulesPerMole, JoulesPerMoleTolerance);
110+
AssertEx.EqualTolerance(2, MolarEnergy.FromJoulesPerMole(10)/MolarEnergy.FromJoulesPerMole(5), JoulesPerMoleTolerance);
111+
}
112+
113+
[Fact]
114+
public void ComparisonOperators()
115+
{
116+
MolarEnergy oneJoulePerMole = MolarEnergy.FromJoulesPerMole(1);
117+
MolarEnergy twoJoulesPerMole = MolarEnergy.FromJoulesPerMole(2);
118+
119+
Assert.True(oneJoulePerMole < twoJoulesPerMole);
120+
Assert.True(oneJoulePerMole <= twoJoulesPerMole);
121+
Assert.True(twoJoulesPerMole > oneJoulePerMole);
122+
Assert.True(twoJoulesPerMole >= oneJoulePerMole);
123+
124+
Assert.False(oneJoulePerMole > twoJoulesPerMole);
125+
Assert.False(oneJoulePerMole >= twoJoulesPerMole);
126+
Assert.False(twoJoulesPerMole < oneJoulePerMole);
127+
Assert.False(twoJoulesPerMole <= oneJoulePerMole);
128+
}
129+
130+
[Fact]
131+
public void CompareToIsImplemented()
132+
{
133+
MolarEnergy joulepermole = MolarEnergy.FromJoulesPerMole(1);
134+
Assert.Equal(0, joulepermole.CompareTo(joulepermole));
135+
Assert.True(joulepermole.CompareTo(MolarEnergy.Zero) > 0);
136+
Assert.True(MolarEnergy.Zero.CompareTo(joulepermole) < 0);
137+
}
138+
139+
[Fact]
140+
public void CompareToThrowsOnTypeMismatch()
141+
{
142+
MolarEnergy joulepermole = MolarEnergy.FromJoulesPerMole(1);
143+
Assert.Throws<ArgumentException>(() => joulepermole.CompareTo(new object()));
144+
}
145+
146+
[Fact]
147+
public void CompareToThrowsOnNull()
148+
{
149+
MolarEnergy joulepermole = MolarEnergy.FromJoulesPerMole(1);
150+
Assert.Throws<ArgumentNullException>(() => joulepermole.CompareTo(null));
151+
}
152+
153+
154+
[Fact]
155+
public void EqualityOperators()
156+
{
157+
MolarEnergy a = MolarEnergy.FromJoulesPerMole(1);
158+
MolarEnergy b = MolarEnergy.FromJoulesPerMole(2);
159+
160+
// ReSharper disable EqualExpressionComparison
161+
Assert.True(a == a);
162+
Assert.True(a != b);
163+
164+
Assert.False(a == b);
165+
Assert.False(a != a);
166+
// ReSharper restore EqualExpressionComparison
167+
}
168+
169+
[Fact]
170+
public void EqualsIsImplemented()
171+
{
172+
MolarEnergy v = MolarEnergy.FromJoulesPerMole(1);
173+
Assert.True(v.Equals(MolarEnergy.FromJoulesPerMole(1)));
174+
Assert.False(v.Equals(MolarEnergy.Zero));
175+
}
176+
177+
[Fact]
178+
public void EqualsReturnsFalseOnTypeMismatch()
179+
{
180+
MolarEnergy joulepermole = MolarEnergy.FromJoulesPerMole(1);
181+
Assert.False(joulepermole.Equals(new object()));
182+
}
183+
184+
[Fact]
185+
public void EqualsReturnsFalseOnNull()
186+
{
187+
MolarEnergy joulepermole = MolarEnergy.FromJoulesPerMole(1);
188+
Assert.False(joulepermole.Equals(null));
189+
}
190+
}
191+
}
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
//------------------------------------------------------------------------------
2+
// <auto-generated>
3+
// This code was generated by \generate-code.bat.
4+
//
5+
// Changes to this file will be lost when the code is regenerated.
6+
// The build server regenerates the code before each build and a pre-build
7+
// step will regenerate the code on each local build.
8+
//
9+
// See https://github.com/angularsen/UnitsNet/wiki/Adding-a-New-Unit for how to add or edit units.
10+
//
11+
// Add CustomCode\Quantities\MyUnit.extra.cs files to add code to generated quantities.
12+
// Add Extensions\MyUnitExtensions.cs to decorate quantities with new behavior.
13+
// Add UnitDefinitions\MyUnit.json and run GeneratUnits.bat to generate new units or quantities.
14+
//
15+
// </auto-generated>
16+
//------------------------------------------------------------------------------
17+
18+
// Copyright (c) 2007 Andreas Gullberg Larsen ([email protected]).
19+
// https://github.com/angularsen/UnitsNet
20+
//
21+
// Permission is hereby granted, free of charge, to any person obtaining a copy
22+
// of this software and associated documentation files (the "Software"), to deal
23+
// in the Software without restriction, including without limitation the rights
24+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25+
// copies of the Software, and to permit persons to whom the Software is
26+
// furnished to do so, subject to the following conditions:
27+
//
28+
// The above copyright notice and this permission notice shall be included in
29+
// all copies or substantial portions of the Software.
30+
//
31+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
37+
// THE SOFTWARE.
38+
39+
using System;
40+
41+
// Windows Runtime Component does not support extension methods and method overloads: https://msdn.microsoft.com/en-us/library/br230301.aspx
42+
#if !WINDOWS_UWP
43+
namespace UnitsNet.Extensions.NumberToMolarEnergy
44+
{
45+
public static class NumberToMolarEnergyExtensions
46+
{
47+
#region JoulePerMole
48+
49+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double)"/>
50+
public static MolarEnergy JoulesPerMole(this int value) => MolarEnergy.FromJoulesPerMole(value);
51+
52+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double?)"/>
53+
public static MolarEnergy? JoulesPerMole(this int? value) => MolarEnergy.FromJoulesPerMole(value);
54+
55+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double)"/>
56+
public static MolarEnergy JoulesPerMole(this long value) => MolarEnergy.FromJoulesPerMole(value);
57+
58+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double?)"/>
59+
public static MolarEnergy? JoulesPerMole(this long? value) => MolarEnergy.FromJoulesPerMole(value);
60+
61+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double)"/>
62+
public static MolarEnergy JoulesPerMole(this double value) => MolarEnergy.FromJoulesPerMole(value);
63+
64+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double?)"/>
65+
public static MolarEnergy? JoulesPerMole(this double? value) => MolarEnergy.FromJoulesPerMole(value);
66+
67+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double)"/>
68+
public static MolarEnergy JoulesPerMole(this float value) => MolarEnergy.FromJoulesPerMole(value);
69+
70+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double?)"/>
71+
public static MolarEnergy? JoulesPerMole(this float? value) => MolarEnergy.FromJoulesPerMole(value);
72+
73+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double)"/>
74+
public static MolarEnergy JoulesPerMole(this decimal value) => MolarEnergy.FromJoulesPerMole(Convert.ToDouble(value));
75+
76+
/// <inheritdoc cref="MolarEnergy.FromJoulesPerMole(double?)"/>
77+
public static MolarEnergy? JoulesPerMole(this decimal? value) => MolarEnergy.FromJoulesPerMole(value == null ? (double?)null : Convert.ToDouble(value.Value));
78+
79+
#endregion
80+
81+
#region KilojoulePerMole
82+
83+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double)"/>
84+
public static MolarEnergy KilojoulesPerMole(this int value) => MolarEnergy.FromKilojoulesPerMole(value);
85+
86+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double?)"/>
87+
public static MolarEnergy? KilojoulesPerMole(this int? value) => MolarEnergy.FromKilojoulesPerMole(value);
88+
89+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double)"/>
90+
public static MolarEnergy KilojoulesPerMole(this long value) => MolarEnergy.FromKilojoulesPerMole(value);
91+
92+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double?)"/>
93+
public static MolarEnergy? KilojoulesPerMole(this long? value) => MolarEnergy.FromKilojoulesPerMole(value);
94+
95+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double)"/>
96+
public static MolarEnergy KilojoulesPerMole(this double value) => MolarEnergy.FromKilojoulesPerMole(value);
97+
98+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double?)"/>
99+
public static MolarEnergy? KilojoulesPerMole(this double? value) => MolarEnergy.FromKilojoulesPerMole(value);
100+
101+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double)"/>
102+
public static MolarEnergy KilojoulesPerMole(this float value) => MolarEnergy.FromKilojoulesPerMole(value);
103+
104+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double?)"/>
105+
public static MolarEnergy? KilojoulesPerMole(this float? value) => MolarEnergy.FromKilojoulesPerMole(value);
106+
107+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double)"/>
108+
public static MolarEnergy KilojoulesPerMole(this decimal value) => MolarEnergy.FromKilojoulesPerMole(Convert.ToDouble(value));
109+
110+
/// <inheritdoc cref="MolarEnergy.FromKilojoulesPerMole(double?)"/>
111+
public static MolarEnergy? KilojoulesPerMole(this decimal? value) => MolarEnergy.FromKilojoulesPerMole(value == null ? (double?)null : Convert.ToDouble(value.Value));
112+
113+
#endregion
114+
115+
#region MegajoulePerMole
116+
117+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double)"/>
118+
public static MolarEnergy MegajoulesPerMole(this int value) => MolarEnergy.FromMegajoulesPerMole(value);
119+
120+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double?)"/>
121+
public static MolarEnergy? MegajoulesPerMole(this int? value) => MolarEnergy.FromMegajoulesPerMole(value);
122+
123+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double)"/>
124+
public static MolarEnergy MegajoulesPerMole(this long value) => MolarEnergy.FromMegajoulesPerMole(value);
125+
126+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double?)"/>
127+
public static MolarEnergy? MegajoulesPerMole(this long? value) => MolarEnergy.FromMegajoulesPerMole(value);
128+
129+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double)"/>
130+
public static MolarEnergy MegajoulesPerMole(this double value) => MolarEnergy.FromMegajoulesPerMole(value);
131+
132+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double?)"/>
133+
public static MolarEnergy? MegajoulesPerMole(this double? value) => MolarEnergy.FromMegajoulesPerMole(value);
134+
135+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double)"/>
136+
public static MolarEnergy MegajoulesPerMole(this float value) => MolarEnergy.FromMegajoulesPerMole(value);
137+
138+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double?)"/>
139+
public static MolarEnergy? MegajoulesPerMole(this float? value) => MolarEnergy.FromMegajoulesPerMole(value);
140+
141+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double)"/>
142+
public static MolarEnergy MegajoulesPerMole(this decimal value) => MolarEnergy.FromMegajoulesPerMole(Convert.ToDouble(value));
143+
144+
/// <inheritdoc cref="MolarEnergy.FromMegajoulesPerMole(double?)"/>
145+
public static MolarEnergy? MegajoulesPerMole(this decimal? value) => MolarEnergy.FromMegajoulesPerMole(value == null ? (double?)null : Convert.ToDouble(value.Value));
146+
147+
#endregion
148+
149+
}
150+
}
151+
#endif

0 commit comments

Comments
 (0)