Permalink
Browse files

Unit Tests refined into Test projects

git-tfs-id: [http://falcon:8080/tfs/Projects]$/Phalanger/Main;C5099
  • Loading branch information...
jakubmisek committed Mar 28, 2014
1 parent 6de0f92 commit 6202ca70ae2a5719c3dca09f64104881178828c0
Showing with 3,073 additions and 2,866 deletions.
  1. +0 −18 Documentation/Developer/BaseAddresses.txt
  2. +118 −74 Solutions/Phalanger.sln
  3. +19 −0 Source/ClassLibrary.Tests/ArraysTests.cs
  4. +114 −0 Source/ClassLibrary.Tests/ClassLibrary.Tests.csproj
  5. 0 ...esting/Unit/Testers.Unit.old.csproj.vspscc → ClassLibrary.Tests/ClassLibrary.Tests.csproj.vspscc}
  6. BIN Source/ClassLibrary.Tests/ClassLibrary.Tests.snk
  7. +192 −0 Source/ClassLibrary.Tests/PhpDateTimeTests.cs
  8. +36 −0 Source/ClassLibrary.Tests/Properties/AssemblyInfo.cs
  9. +77 −0 Source/ClassLibrary.Tests/RegExpPerlTests.cs
  10. +61 −0 Source/ClassLibrary.Tests/TimeZonesTests.cs
  11. +80 −0 Source/ClassLibrary.Tests/UUEncodingTests.cs
  12. +1 −18 Source/ClassLibrary/Arrays.cs
  13. +3 −1 Source/ClassLibrary/AssemblyInfo.cs
  14. +2 −0 Source/ClassLibrary/ClassLibrary.csproj
  15. +3 −200 Source/ClassLibrary/DateTime.CLR/DateTime.cs
  16. +0 −56 Source/ClassLibrary/DateTime.CLR/TimeZones.cs
  17. +1,554 −1,625 Source/ClassLibrary/RegExpPerl.cs
  18. +0 −75 Source/ClassLibrary/UUEncoding.cs
  19. +2 −0 Source/Core.CodeDom/Core.CodeDom.csproj
  20. +2 −0 Source/Core.DuckTyping/Core.DuckTyping.csproj
  21. +105 −0 Source/Core.Parsers.Tests/Core.Parsers.Tests.csproj
  22. +10 −0 Source/Core.Parsers.Tests/Core.Parsers.Tests.csproj.vspscc
  23. BIN Source/Core.Parsers.Tests/Core.Parsers.Tests.snk
  24. +33 −0 Source/Core.Parsers.Tests/LineBreaksTests.cs
  25. +36 −0 Source/Core.Parsers.Tests/Properties/AssemblyInfo.cs
  26. +63 −0 Source/Core.Parsers.Tests/RelativePathTests.cs
  27. +23 −0 Source/Core.Parsers.Tests/StringUtilsTests.cs
  28. +73 −0 Source/Core.Parsers.Tests/TokenizerTests.cs
  29. +0 −38 Source/Core.Parsers/Attributes.cs
  30. +0 −1 Source/Core.Parsers/Core.Parsers.csproj
  31. +0 −69 Source/Core.Parsers/Parsers/Tokenizer.cs
  32. +5 −1 Source/Core.Parsers/Properties/AssemblyInfo.cs
  33. +0 −27 Source/Core.Parsers/Text/ILineBreaks.cs
  34. +0 −74 Source/Core.Parsers/Utils.cs
  35. +120 −0 Source/Core.Tests/ConvertTests.cs
  36. +112 −0 Source/Core.Tests/Core.Tests.csproj
  37. +10 −0 Source/Core.Tests/Core.Tests.csproj.vspscc
  38. BIN Source/Core.Tests/Core.Tests.snk
  39. +28 −0 Source/Core.Tests/NodeCompilersTests.cs
  40. +64 −0 Source/Core.Tests/OperatorsTests.cs
  41. +29 −0 Source/Core.Tests/PhpTypeCodeTests.cs
  42. +45 −0 Source/Core.Tests/PrimitiveTypeTests.cs
  43. +9 −6 Source/{Testing/Unit → Core.Tests}/Properties/AssemblyInfo.cs
  44. +39 −0 Source/Core.Tests/TypeDescsTests.cs
  45. +2 −1 Source/Core/AssemblyInfo.cs
  46. +0 −24 Source/Core/Compiler/AST/NodeCompilers.cs
  47. +1 −122 Source/Core/Conversions.cs
  48. +1 −0 Source/Core/Core.csproj
  49. +0 −63 Source/Core/Operators.cs
  50. +0 −33 Source/Core/Reflection/TypeDescs.cs
  51. +0 −61 Source/Core/Reflection/Types.cs
  52. +0 −62 Source/Core/Utils.cs
  53. +1 −1 Source/Phalanger.CompilerTask/Phalanger.CompilerTask.csproj
  54. +0 −19 Source/Testing/Unit/Program.cs
  55. +0 −122 Source/Testing/Unit/Testers.Unit.csproj
  56. +0 −72 Source/Testing/Unit/Testers.Unit.old.csproj
  57. +0 −3 Source/Testing/Unit/app.config
@@ -1,18 +0,0 @@
PE Base Addresses (should not overlap to prevent relocations)
=============================================================
Image Image Base Mapped Size
---------------------- ---------- ----------
PhpNetCore.dll 0x18000000 0x00188000
PhpNetCore.IL.dll 0x18E00000 0x00001000
ShmChannel.dll 0x18F00000 0x0000E000
PhpNetClassLibrary.dll 0x19000000 0x0008E000
PhpNetMsSql.dll 0x1A000000 0x00009000
PhpNetMySql.dll 0x1A100000 0x00009000
MySql.Data.dll 0x1A200000 0x00023000
PhpNetXmlDom.dll 0x1A300000 0x00010000
php4ts.dll 0x1B000000 0x0009E000
Managed wrappers, dynamic wrappers, compiled libraries
are all at 0x00400000 (impossible to specify using SRE).
View

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,19 @@
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using PHP.Core;
namespace PHP.Library.Tests
{
[TestClass]
public class ArraysTests
{
[TestMethod]
public void TestRandomKeys()
{
PhpArray a = PhpArray.Keyed("Server1", 1, "Server2", 2, "Server3", 3);
PhpVariable.Dump(a);
string result = PhpArrays.RandomKeys(a) as string;
Assert.IsTrue(result == "Server1" || result == "Server2" || result == "Server3");
}
}
}
@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D2388680-0C99-467F-9C17-68E1E6E4F1C0}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PHP.Library.Tests</RootNamespace>
<AssemblyName>PhpNetClassLibrary.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>ClassLibrary.Tests.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<Choose>
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
</ItemGroup>
</Otherwise>
</Choose>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="TimeZonesTests.cs" />
<Compile Include="ArraysTests.cs" />
<Compile Include="RegExpPerlTests.cs" />
<Compile Include="PhpDateTimeTests.cs" />
<Compile Include="UUEncodingTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ClassLibrary\ClassLibrary.csproj">
<Project>{d515e8f4-357c-4caf-87c1-97d64c5f865a}</Project>
<Name>ClassLibrary</Name>
</ProjectReference>
<ProjectReference Include="..\Core.Parsers\Core.Parsers.csproj">
<Project>{581f1486-5062-459e-bae6-a41886584f81}</Project>
<Name>Core.Parsers</Name>
</ProjectReference>
<ProjectReference Include="..\Core\Core.csproj">
<Project>{9a2867a2-981c-4b5a-a1c5-eaccc80b5148}</Project>
<Name>Core</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="ClassLibrary.Tests.snk" />
</ItemGroup>
<Choose>
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
</ItemGroup>
</When>
</Choose>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
Binary file not shown.
@@ -0,0 +1,192 @@
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using PHP.Core;
namespace PHP.Library.Tests
{
[TestClass]
public class PhpDateTimeTests
{
[TestMethod]
public void TestGetTimeOfDay()
{
PhpArray result;
result = PhpDateTime.GetTimeOfDay(new DateTime(2005, 10, 1), PhpTimeZone.PacificTimeZone);
Assert.AreEqual((int)result["minuteswest"], 480);
Assert.AreEqual((int)result["dsttime"], 1);
result = PhpDateTime.GetTimeOfDay(new DateTime(2005, 11, 1), PhpTimeZone.PacificTimeZone);
Assert.AreEqual((int)result["minuteswest"], 480);
Assert.AreEqual((int)result["dsttime"], 1);
result = PhpDateTime.GetTimeOfDay(new DateTime(2005, 11, 1), PhpTimeZone.NepalTimeZone);
Assert.AreEqual((int)result["minuteswest"], -345);
Assert.AreEqual((int)result["dsttime"], 0);
result = PhpDateTime.GetTimeOfDay(new DateTime(2005, 10, 1), PhpTimeZone.GmtTimeZone);
Assert.AreEqual((int)result["minuteswest"], 0);
Assert.AreEqual((int)result["dsttime"], 1);
result = PhpDateTime.GetTimeOfDay(new DateTime(2005, 11, 1), PhpTimeZone.GmtTimeZone);
Assert.AreEqual((int)result["minuteswest"], 0);
Assert.AreEqual((int)result["dsttime"], 1);
result = PhpDateTime.GetTimeOfDay(new DateTime(2005, 11, 1), DateTimeUtils.UtcTimeZone);
Assert.AreEqual((int)result["minuteswest"], 0);
Assert.AreEqual((int)result["dsttime"], 0);
}
[TestMethod]
public void TestGetLocalTime()
{
PhpArray result1, result2;
PhpTimeZone.CurrentTimeZone = PhpTimeZone.GetTimeZone("UTC");
DateTime dt = new DateTime(2005, 11, 4, 5, 4, 3, 132);
result1 = PhpDateTime.GetLocalTime(dt, false);
result2 = PhpDateTime.GetLocalTime(dt, true);
Assert.AreEqual((int)result1[0], 3);
Assert.AreEqual((int)result1[1], 4);
Assert.AreEqual((int)result1[2], 5);
Assert.AreEqual((int)result1[3], 4);
Assert.AreEqual((int)result1[4], 10);
Assert.AreEqual((int)result1[5], 105);
Assert.AreEqual((int)result1[6], 5);
Assert.AreEqual((int)result1[7], 307);
Assert.AreEqual((int)result1[8], 0);
Assert.AreEqual((int)result1[0], (int)result2["tm_sec"]);
Assert.AreEqual((int)result1[1], (int)result2["tm_min"]);
Assert.AreEqual((int)result1[2], (int)result2["tm_hour"]);
Assert.AreEqual((int)result1[3], (int)result2["tm_mday"]);
Assert.AreEqual((int)result1[4], (int)result2["tm_mon"]);
Assert.AreEqual((int)result1[5], (int)result2["tm_year"]);
Assert.AreEqual((int)result1[6], (int)result2["tm_wday"]);
Assert.AreEqual((int)result1[7], (int)result2["tm_yday"]);
Assert.AreEqual((int)result1[8], (int)result2["tm_isdst"]);
}
struct StringToTimeCase
{
public string String;
public int StartTime;
public string Result;
public TimeZoneInfo[] Zones;
public StringToTimeCase(string str, int start, string result, TimeZoneInfo[] zones)
{
this.String = str;
this.StartTime = start;
this.Result = result;
this.Zones = zones;
}
public StringToTimeCase(string str, string result, TimeZoneInfo[] zones)
: this(str, 0, result, zones)
{
}
public StringToTimeCase(string str, int locMonth, int locDay, int locYear, TimeZoneInfo zone, string result, TimeZoneInfo[] zones)
: this(str, DateTimeUtils.UtcToUnixTimeStamp(TimeZoneInfo.ConvertTimeToUtc(new DateTime(locYear, locMonth, locDay), zone)),
result, zones)
{
}
public StringToTimeCase(string str, DateTime local, TimeZoneInfo zone, string result, TimeZoneInfo[] zones)
: this(str, DateTimeUtils.UtcToUnixTimeStamp(TimeZoneInfo.ConvertTimeToUtc(local, zone)),
result, zones)
{
}
}
[TestMethod]
public void TestStringToTime()
{
TimeZoneInfo[] all_zones =
{
PhpTimeZone.NepalTimeZone,
PhpTimeZone.PacificTimeZone,
PhpTimeZone.GmtTimeZone
};
var utc_zone = DateTimeUtils.UtcTimeZone;
var nep_zone = PhpTimeZone.NepalTimeZone;
var pac_zone = PhpTimeZone.PacificTimeZone;
TimeZoneInfo[] utc_zones = { utc_zone };
TimeZoneInfo[] nep_zones = { nep_zone };
TimeZoneInfo[] pac_zones = { pac_zone };
DateTime time1 = new DateTime(2005, 11, 13, 17, 41, 43);
// mktime(17,41,43,11,13,2005);
StringToTimeCase[] cases =
{
new StringToTimeCase("10 September 2000", time1,pac_zone, "", pac_zones),
new StringToTimeCase("+0545", time1,pac_zone, "", pac_zones),
// new StringToTimeCase("+0545", time1,pac_zone, "11:56:43 11/13/2005", pac_zones),
// new StringToTimeCase("11/31/2005", time1,pac_zone, "17:41:43 11/13/2005", pac_zones),
// new StringToTimeCase("-1 month +0545",11,01,2005,pac_zone, "20:15:00 09-30-2005", pac_zones),
// new StringToTimeCase("@-1519789808",null,pac_zones),
// new StringToTimeCase( "1/1/1900", null, all_zones),
// new StringToTimeCase("11/1/2005", "00:00:00 11/01/2005", nep_zones),
//
// // note: goes over daylight savings change date:
// new StringToTimeCase( "+1 month", 10,01,2005,utc_zone, "00:00:00 11/01/2005", utc_zones),
// new StringToTimeCase( "+1 month", 10,01,2005,nep_zone, "00:00:00 11/01/2005", nep_zones),
// new StringToTimeCase( "+1 month", 10,01,2005,pac_zone, "00:00:00 11/01/2005", pac_zones),
// new StringToTimeCase( "-1 month", 11,01,2005,utc_zone, "00:00:00 10/01/2005", utc_zones),
// new StringToTimeCase( "-1 month", 11,01,2005,nep_zone, "00:00:00 10/01/2005", nep_zones),
// new StringToTimeCase( "-1 month", 11,01,2005,pac_zone, "00:00:00 10/01/2005", pac_zones),
//
// new StringToTimeCase("now", time1,pac_zone, "17:41:43 11/13/2005", pac_zones),
// new StringToTimeCase("10 September 2000", time1,pac_zone, "00:00:00 09/10/2000", pac_zones),
// new StringToTimeCase("+1 day", time1,pac_zone, "17:41:43 11/14/2005", pac_zones),
// new StringToTimeCase("+1 week", time1,pac_zone, "17:41:43 11/20/2005", pac_zones),
// new StringToTimeCase("+1 week 2 days 4 hours 2 seconds", time1,pac_zone, "21:41:45 11/22/2005", pac_zones),
// new StringToTimeCase("next Thursday", time1,pac_zone, "00:00:00 11/17/2005", pac_zones),
// new StringToTimeCase("last Monday", time1,pac_zone, "00:00:00 11/07/2005", pac_zones),
// new StringToTimeCase("2004-12-31", time1,pac_zone, "00:00:00 12/31/2004", pac_zones),
// new StringToTimeCase("2005-04-15", time1,pac_zone, "00:00:00 04/15/2005", pac_zones),
// new StringToTimeCase("last Wednesday", time1,pac_zone, "00:00:00 11/09/2005", pac_zones),
// new StringToTimeCase("04/05/2005", time1,pac_zone, "00:00:00 04/05/2005", pac_zones),
// new StringToTimeCase("Thu, 31 Jul 2003 13:02:39 -0700", time1,pac_zone, "13:02:39 07/31/2003", pac_zones),
// new StringToTimeCase("today 00:00:00", time1,pac_zone, "00:00:00 11/13/2005", pac_zones),
// new StringToTimeCase("last Friday", time1,pac_zone, "00:00:00 11/11/2005", pac_zones),
// new StringToTimeCase("2004-12-01", time1,pac_zone, "00:00:00 12/01/2004", pac_zones),
// new StringToTimeCase("- 1week", time1,pac_zone, "16:00:00 12/31/1969", pac_zones),
// new StringToTimeCase("2004-06-13 09:20:00.0", time1,pac_zone, "09:20:00 06/13/2004", pac_zones),
// new StringToTimeCase("+10 seconds", time1,pac_zone, "17:41:53 11/13/2005", pac_zones),
// new StringToTimeCase("2004-04-04 02:00:00 GMT", time1,pac_zone, "18:00:00 04/03/2004", pac_zones),
// new StringToTimeCase("2004-04-04 01:59:59 UTC", time1,pac_zone, "16:00:00 12/31/1969", pac_zones),
// new StringToTimeCase("2004-06-13 09:20:00.0", time1,pac_zone, "09:20:00 06/13/2004", pac_zones),
// new StringToTimeCase("2004-04-04 02:00:00", time1,pac_zone, "03:00:00 04/04/2004", pac_zones),
// new StringToTimeCase("last sunday 12:00:00", time1,pac_zone, "12:00:00 11/06/2005", pac_zones),
// new StringToTimeCase("last sunday", time1,pac_zone, "00:00:00 11/06/2005", pac_zones),
// new StringToTimeCase("01-jan-70 01:00", time1,pac_zone, "01:00:00 01/01/1970", pac_zones),
// new StringToTimeCase("01-jan-70 02:00", time1,pac_zone, "02:00:00 01/01/1970", pac_zones),
};
foreach (StringToTimeCase c in cases)
{
foreach (var zone in c.Zones)
{
//DateTimeUtils.SetCurrentTimeZone(zone);
object timestamp = PhpDateTime.StringToTime(c.String, c.StartTime);
// string str = null;
// if (timestamp is int)
// str = FormatDate("H:i:s m/d/Y",(int)timestamp); else
// Debug.Assert(!(bool)timestamp);
//
// if (str!=c.Result)
// Debug.Fail();
}
}
}
}
}
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ClassLibrary.Tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ClassLibrary.Tests")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("a7e1cfb9-4e1d-40e9-9150-c39ce661cc33")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
Oops, something went wrong.

0 comments on commit 6202ca7

Please sign in to comment.