Skip to content

Commit 01065cd

Browse files
erioveangularsen
authored andcommitted
Feature/clscompliant (#415)
* Added CLSCompliant and test for assembly attributes * Fixed name of test * Found existing CLSCompliant and removed new one * AssemblyInfo.cs: Remove InternalsVisibleTo The project `UnitsNet.Tests.WindowsRuntimeComponent` no longer exists.
1 parent 78cea81 commit 01065cd

File tree

3 files changed

+75
-3
lines changed

3 files changed

+75
-3
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// Copyright (c) 2013 Andreas Gullberg Larsen ([email protected]).
2+
// https://github.com/angularsen/UnitsNet
3+
//
4+
// Permission is hereby granted, free of charge, to any person obtaining a copy
5+
// of this software and associated documentation files (the "Software"), to deal
6+
// in the Software without restriction, including without limitation the rights
7+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+
// copies of the Software, and to permit persons to whom the Software is
9+
// furnished to do so, subject to the following conditions:
10+
//
11+
// The above copyright notice and this permission notice shall be included in
12+
// all copies or substantial portions of the Software.
13+
//
14+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20+
// THE SOFTWARE.
21+
22+
using System;
23+
using System.Linq;
24+
using System.Reflection;
25+
using Xunit;
26+
27+
namespace UnitsNet.Tests
28+
{
29+
public class AssemblyAttributeTests
30+
{
31+
[Fact]
32+
public static void AssemblyShouldBeClsCompliant()
33+
{
34+
var assembly = typeof(Length).GetTypeInfo().Assembly;
35+
36+
var attributes = assembly.CustomAttributes.Select(x => x.AttributeType);
37+
Assert.Contains(typeof(CLSCompliantAttribute), attributes);
38+
}
39+
40+
[Fact]
41+
public static void AssemblyCopyrightShouldContain2013()
42+
{
43+
var assembly = typeof(Length).GetTypeInfo().Assembly;
44+
45+
var copyrightAttribute = assembly
46+
.CustomAttributes
47+
.Single(x => x.AttributeType == typeof(AssemblyCopyrightAttribute));
48+
string copyrightString = copyrightAttribute.ConstructorArguments.Single().Value.ToString();
49+
string expectedYear = "2013";
50+
Assert.Contains(expectedYear, copyrightString);
51+
}
52+
}
53+
}

UnitsNet/AssemblyInfo.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
1-
using System;
1+
// Copyright (c) 2013 Andreas Gullberg Larsen ([email protected]).
2+
// https://github.com/angularsen/UnitsNet
3+
//
4+
// Permission is hereby granted, free of charge, to any person obtaining a copy
5+
// of this software and associated documentation files (the "Software"), to deal
6+
// in the Software without restriction, including without limitation the rights
7+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+
// copies of the Software, and to permit persons to whom the Software is
9+
// furnished to do so, subject to the following conditions:
10+
//
11+
// The above copyright notice and this permission notice shall be included in
12+
// all copies or substantial portions of the Software.
13+
//
14+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20+
// THE SOFTWARE.
21+
22+
using System;
223
using System.Runtime.CompilerServices;
324
[assembly: CLSCompliant(true)]
4-
[assembly: InternalsVisibleTo("UnitsNet.Tests.WindowsRuntimeComponent")]

UnitsNet/UnitsNet.Common.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
<ItemGroup>
3838
<Compile Remove="obj\**" />
3939
<Compile Remove="Properties\AssemblyInfo*.cs" />
40-
<Compile Remove="AssemblyInfo*.cs" />
4140
<EmbeddedResource Remove="obj\**" />
4241
<None Remove="obj\**" />
4342
</ItemGroup>

0 commit comments

Comments
 (0)