Skip to content
This repository has been archived by the owner on Oct 2, 2020. It is now read-only.

Commit

Permalink
Added tests & ci requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
mkoertgen committed Mar 2, 2017
1 parent 64eb1c5 commit 0268b2f
Show file tree
Hide file tree
Showing 21 changed files with 300 additions and 25 deletions.
26 changes: 26 additions & 0 deletions NSuggest.WPF/AutoCompleteManager_Should.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using System;
using System.Threading;
using System.Windows.Controls;
using FluentAssertions;
using NEdifis.Attributes;
using NUnit.Framework;

namespace NSuggest.WPF
{
[TestFixtureFor(typeof(AutoCompleteManager))]
// ReSharper disable InconsistentNaming
internal class AutoCompleteManager_Should
{
[Test]
[Apartment(ApartmentState.STA)]
public void a()
{
0.Invoking(x => new AutoCompleteManager(null)).ShouldThrow<ArgumentNullException>();

Assert.Inconclusive("TODO");

var textBox = new TextBox();
var sut = new AutoCompleteManager(textBox);
}
}
}
19 changes: 19 additions & 0 deletions NSuggest.WPF/NSuggest.WPF.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,21 @@
</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="FluentAssertions, Version=4.19.0.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.dll</HintPath>
</Reference>
<Reference Include="FluentAssertions.Core, Version=4.19.0.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.Core.dll</HintPath>
</Reference>
<Reference Include="NEdifis, Version=0.7.0.0, Culture=neutral, PublicKeyToken=68bd55412466663d, processorArchitecture=MSIL">
<HintPath>..\packages\NEdifis.0.7.0\lib\net45\NEdifis.dll</HintPath>
</Reference>
<Reference Include="NSubstitute, Version=2.0.2.0, Culture=neutral, PublicKeyToken=92dd2e9066daa5ca, processorArchitecture=MSIL">
<HintPath>..\packages\NSubstitute.2.0.2\lib\net45\NSubstitute.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="PresentationFramework.Aero">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
Expand All @@ -55,12 +70,15 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xaml" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<Compile Include="AutoCompleteComboBox.cs" />
<Compile Include="AutoCompleteManager_Should.cs" />
<Compile Include="AutoCompleteTextBox.cs" />
<Compile Include="AutoCompleteManager.cs" />
<Compile Include="Properties\AssemblyInfo.cs">
Expand All @@ -83,6 +101,7 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Package.nuspec" />
<None Include="packages.config" />
</ItemGroup>
Expand Down
23 changes: 23 additions & 0 deletions NSuggest.WPF/app.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="nunit.framework" publicKeyToken="2638cd05610744eb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.6.1.0" newVersion="3.6.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NSubstitute" publicKeyToken="92dd2e9066daa5ca" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentAssertions" publicKeyToken="33f2691a05b67b6a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.19.0.0" newVersion="4.19.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentAssertions.Core" publicKeyToken="33f2691a05b67b6a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.19.0.0" newVersion="4.19.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
4 changes: 4 additions & 0 deletions NSuggest.WPF/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FluentAssertions" version="4.19.0" targetFramework="net452" />
<package id="GitVersionTask" version="3.6.5" targetFramework="net452" developmentDependency="true" />
<package id="NEdifis" version="0.7.0" targetFramework="net452" />
<package id="NSubstitute" version="2.0.2" targetFramework="net452" />
<package id="NUnit" version="3.6.1" targetFramework="net452" />
<package id="OneClickBuild" version="1.11.2" targetFramework="net452" developmentDependency="true" />
</packages>
7 changes: 1 addition & 6 deletions NSuggest/Cache.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@
using System.Linq;
using System.Threading;

// ReSharper disable CheckNamespace
namespace NSuggest
// ReSharper restore CheckNamespace
{
/// <summary>
/// A generic thread-safe lru-cache.
Expand Down Expand Up @@ -575,10 +573,7 @@ public void ResetStatistics()
public override string ToString()
{
//return base.ToString();
return String.Format("Cur/Max = {0}/{1}, Hit/Miss = {2}/{3} ({4}%)",
Count, Capacity,
CacheHits, CacheMisses,
State);
return $"Cur/Max = {Count}/{Capacity}, Hit/Miss = {CacheHits}/{CacheMisses} ({State}%)";
}
}
}
27 changes: 27 additions & 0 deletions NSuggest/Cache_Should.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
using System.Linq;
using FluentAssertions;
using NEdifis.Attributes;
using NUnit.Framework;

namespace NSuggest
{
[TestFixtureFor(typeof(Cache<int, int>))]
// ReSharper disable InconsistentNaming
internal class Cache_Should
{
[Test]
public void Skip_lru_items()
{
const int maxSize = 5;
var sut = new Cache<int, int>(maxSize);
Enumerable.Range(0, maxSize).ToList().ForEach(i =>
{
sut.Add(i, i);
sut.ContainsKey(i).Should().BeTrue();
});

sut.Add(maxSize,maxSize);
sut.ContainsKey(0).Should().BeFalse("lru item should be bumped from cache");
}
}
}
19 changes: 19 additions & 0 deletions NSuggest/NSuggest.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,30 @@
</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="FluentAssertions, Version=4.19.0.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.dll</HintPath>
</Reference>
<Reference Include="FluentAssertions.Core, Version=4.19.0.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.Core.dll</HintPath>
</Reference>
<Reference Include="NEdifis, Version=0.7.0.0, Culture=neutral, PublicKeyToken=68bd55412466663d, processorArchitecture=MSIL">
<HintPath>..\packages\NEdifis.0.7.0\lib\net45\NEdifis.dll</HintPath>
</Reference>
<Reference Include="NSubstitute, Version=2.0.2.0, Culture=neutral, PublicKeyToken=92dd2e9066daa5ca, processorArchitecture=MSIL">
<HintPath>..\packages\NSubstitute.2.0.2\lib\net45\NSubstitute.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="BlackList.cs" />
<Compile Include="Cache.cs" />
<Compile Include="Cache_Should.cs" />
<Compile Include="IHaveKeyedValues.cs" />
<Compile Include="IHaveKeyStrings.cs" />
<Compile Include="ISuffixTree.cs" />
Expand All @@ -66,6 +84,7 @@
<Compile Include="IProvideSuggestions.cs" />
<Compile Include="RegistrySuggestions.cs" />
<Compile Include="StaticDataSuggestions.cs" />
<None Include="app.config" />
<None Include="packages.config" />
<None Include="UrlHistorySuggestions.cs" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion NSuggest/TernarySearchTree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public override string ToString()
else
c = 'R'; // must be root

return IsKey ? String.Format("{0} {1} {2}", c, SplitChar, Key) : String.Format("{0} {1}", c, SplitChar);
return IsKey ? $"{c} {SplitChar} {Key}" : $"{c} {SplitChar}";
}
}

Expand Down
2 changes: 1 addition & 1 deletion NSuggest/TernarySearchTree`1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public override string ToString()
else
c = 'R'; // must be root

return IsKey ? String.Format("{0} {1} {2}", c, SplitChar, Key) : String.Format("{0} {1}", c, SplitChar);
return IsKey ? $"{c} {SplitChar} {Key}" : $"{c} {SplitChar}";
}
}

Expand Down
23 changes: 23 additions & 0 deletions NSuggest/app.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="nunit.framework" publicKeyToken="2638cd05610744eb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.6.1.0" newVersion="3.6.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NSubstitute" publicKeyToken="92dd2e9066daa5ca" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentAssertions" publicKeyToken="33f2691a05b67b6a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.19.0.0" newVersion="4.19.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentAssertions.Core" publicKeyToken="33f2691a05b67b6a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.19.0.0" newVersion="4.19.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
4 changes: 4 additions & 0 deletions NSuggest/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FluentAssertions" version="4.19.0" targetFramework="net452" />
<package id="GitVersionTask" version="3.6.5" targetFramework="net452" developmentDependency="true" />
<package id="NEdifis" version="0.7.0" targetFramework="net452" />
<package id="NSubstitute" version="2.0.2" targetFramework="net452" />
<package id="NUnit" version="3.6.1" targetFramework="net452" />
<package id="OneClickBuild" version="1.11.2" targetFramework="net452" developmentDependency="true" />
</packages>
4 changes: 1 addition & 3 deletions Query/JsonResponseReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ public sealed class JsonResponseReader<TResponse>
: IReadResponse<TResponse>
where TResponse : IResponse
{
// ReSharper disable StaticFieldInGenericType
private static readonly DataContractJsonSerializer Serializer = new DataContractJsonSerializer(typeof(TResponse));
// ReSharper restore StaticFieldInGenericType
internal static readonly DataContractJsonSerializer Serializer = new DataContractJsonSerializer(typeof(TResponse));

public TResponse From(Stream stream)
{
Expand Down
35 changes: 35 additions & 0 deletions Query/JsonResponseReader_Should.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using System.IO;
using System.Runtime.Serialization;
using FluentAssertions;
using NEdifis.Attributes;
using NUnit.Framework;

namespace NSuggest.Query
{
[TestFixtureFor(typeof(JsonResponseReader<>))]
// ReSharper disable InconsistentNaming
internal class JsonResponseReader_Should
{
[Test]
public void Serialize_json()
{
var sut = new JsonResponseReader<DummyResponse>();
using (var stream = new MemoryStream())
{
var expected = new DummyResponse {Name = "dummy"};
JsonResponseReader<DummyResponse>.Serializer.WriteObject(stream, expected);
stream.Seek(0, SeekOrigin.Begin);
var actual = sut.From(stream);

actual.ShouldBeEquivalentTo(expected);
}
}

[DataContract]
private class DummyResponse : IResponse
{
[DataMember]
public string Name;
}
}
}
17 changes: 17 additions & 0 deletions Query/NSuggest.Query.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,21 @@
</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="FluentAssertions, Version=4.19.0.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.dll</HintPath>
</Reference>
<Reference Include="FluentAssertions.Core, Version=4.19.0.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.Core.dll</HintPath>
</Reference>
<Reference Include="NEdifis, Version=0.7.0.0, Culture=neutral, PublicKeyToken=68bd55412466663d, processorArchitecture=MSIL">
<HintPath>..\packages\NEdifis.0.7.0\lib\net45\NEdifis.dll</HintPath>
</Reference>
<Reference Include="NSubstitute, Version=2.0.2.0, Culture=neutral, PublicKeyToken=92dd2e9066daa5ca, processorArchitecture=MSIL">
<HintPath>..\packages\NSubstitute.2.0.2\lib\net45\NSubstitute.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Runtime.Serialization" />
Expand All @@ -54,6 +69,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="JsonResponseReader_Should.cs" />
<Compile Include="ResponseProvider.cs" />
<Compile Include="DataContractResponseReader.cs" />
<Compile Include="IProvideResponse.cs" />
Expand All @@ -66,6 +82,7 @@
<Compile Include="XmlResponseReader.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Expand Down
23 changes: 23 additions & 0 deletions Query/app.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="nunit.framework" publicKeyToken="2638cd05610744eb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.6.1.0" newVersion="3.6.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NSubstitute" publicKeyToken="92dd2e9066daa5ca" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentAssertions" publicKeyToken="33f2691a05b67b6a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.19.0.0" newVersion="4.19.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentAssertions.Core" publicKeyToken="33f2691a05b67b6a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.19.0.0" newVersion="4.19.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
4 changes: 4 additions & 0 deletions Query/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FluentAssertions" version="4.19.0" targetFramework="net452" />
<package id="GitVersionTask" version="3.6.5" targetFramework="net452" developmentDependency="true" />
<package id="NEdifis" version="0.7.0" targetFramework="net452" />
<package id="NSubstitute" version="2.0.2" targetFramework="net452" />
<package id="NUnit" version="3.6.1" targetFramework="net452" />
<package id="OneClickBuild" version="1.11.2" targetFramework="net452" developmentDependency="true" />
</packages>
4 changes: 2 additions & 2 deletions TestSuggestions/TestSuggestions.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework, Version=3.6.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.6.0\lib\net45\nunit.framework.dll</HintPath>
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="PresentationFramework.Aero" />
<Reference Include="System" />
Expand Down
Loading

0 comments on commit 0268b2f

Please sign in to comment.