Skip to content

Commit

Permalink
Ran code cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrstebo committed Sep 20, 2018
1 parent b86448f commit f3371ff
Show file tree
Hide file tree
Showing 14 changed files with 132 additions and 118 deletions.
2 changes: 1 addition & 1 deletion src/FakerDotNet/Data/AppData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,4 @@ internal class AppData
"#.#."
};
}
}
}
12 changes: 6 additions & 6 deletions src/FakerDotNet/FakerContainer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@ internal interface IFakerContainer

internal class FakerContainer : IFakerContainer
{
public IAppFaker App { get; }
public IFakeFaker Fake { get; }
public INameFaker Name { get; }
public INumberFaker Number { get; }
public IRandomFaker Random { get; }

public FakerContainer()
{
App = new AppFaker(this);
Expand All @@ -27,5 +21,11 @@ public FakerContainer()
Number = new NumberFaker();
Random = new RandomFaker();
}

public IAppFaker App { get; }
public IFakeFaker Fake { get; }
public INameFaker Name { get; }
public INumberFaker Number { get; }
public IRandomFaker Random { get; }
}
}
2 changes: 1 addition & 1 deletion src/FakerDotNet/Fakers/AppFaker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ public string Author()
return $"{_fakerContainer.Name.FirstName()} {_fakerContainer.Name.LastName()}";
}
}
}
}
4 changes: 2 additions & 2 deletions src/FakerDotNet/Fakers/FakeFaker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public FakeFaker(IFakerContainer fakerContainer)
public string F(string format)
{
if (string.IsNullOrEmpty(format)) throw new FormatException("A string must be specified");

var result = format;
Match match;
while ((match = Regex.Match(result, @"\{(\w+).(\w+)\}")).Success)
Expand Down Expand Up @@ -60,4 +60,4 @@ private static (string faker, string method) ExtractMatchDataFrom(Match match)
return (className, methodName);
}
}
}
}
6 changes: 3 additions & 3 deletions src/FakerDotNet/Fakers/NameFaker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ public interface INameFaker
internal class NameFaker : INameFaker
{
private static readonly NameData Data = new NameData();

private readonly IFakerContainer _fakerContainer;

public NameFaker(IFakerContainer fakerContainer)
{
_fakerContainer = fakerContainer;
}

public string Name()
{
return $"{FirstName()} {LastName()}";
Expand Down Expand Up @@ -62,4 +62,4 @@ public string Title()
_fakerContainer.Random.Element(Data.TitleJobs));
}
}
}
}
4 changes: 2 additions & 2 deletions src/FakerDotNet/Fakers/RandomFaker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public interface IRandomFaker
internal class RandomFaker : IRandomFaker
{
private static readonly Random RNG = new Random();

public T Element<T>(IEnumerable<T> collection)
{
// ReSharper disable PossibleMultipleEnumeration
Expand All @@ -22,4 +22,4 @@ public T Element<T>(IEnumerable<T> collection)
// ReSharper restore PossibleMultipleEnumeration
}
}
}
}
2 changes: 1 addition & 1 deletion src/FakerDotNet/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
[assembly: AssemblyFileVersion("1.0.0.0")]

[assembly: InternalsVisibleTo("FakerDotNet.Tests")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
4 changes: 2 additions & 2 deletions src/FakerDotNet/Wrappers/RandomWrapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ internal interface IRandomWrapper
{
int Next(int min, int max);
}

internal class RandomWrapper : IRandomWrapper
{
private static readonly Random RandomInstance = new Random();

public int Next(int min, int max)
{
return RandomInstance.Next(min, max);
Expand Down
2 changes: 1 addition & 1 deletion tests/FakerDotNet.Tests/FakerContainerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void Name_returns_INameFaker()
{
Assert.IsInstanceOf<INameFaker>(_fakerContainer.Name);
}

[Test]
public void Number_returns_INumberFaker()
{
Expand Down
31 changes: 17 additions & 14 deletions tests/FakerDotNet.Tests/Fakers/AppFakerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,32 @@ namespace FakerDotNet.Tests.Fakers
[Parallelizable]
public class AppFakerTests
{
private static readonly AppData Data = new AppData();

[SetUp]
public void SetUp()
{
_fakerContainer = A.Fake<IFakerContainer>();
_appFaker = new AppFaker(_fakerContainer);
}

private static readonly AppData Data = new AppData();

private IFakerContainer _fakerContainer;
private IAppFaker _appFaker;

[Test]
public void Author_returns_a_full_name()
{
A.CallTo(() => _fakerContainer.Name.FirstName()).Returns("John");
A.CallTo(() => _fakerContainer.Name.LastName()).Returns("Smith");

Assert.AreEqual("John Smith", _appFaker.Author());
}

[Test]
public void Name_returns_a_name()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Names)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Names)))
.Returns("My App");

Assert.AreEqual("My App", _appFaker.Name());
Expand All @@ -37,21 +47,14 @@ public void Version_returns_a_formatted_version()
{
var numbers = Enumerable.Range(0, 9);

A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Versions)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Versions)))
.Returns("0.#.#");
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<int>>.That.IsSameSequenceAs(numbers)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<int>>.That.IsSameSequenceAs(numbers)))
.ReturnsNextFromSequence(1, 2);

Assert.AreEqual("0.1.2", _appFaker.Version());
}

[Test]
public void Author_returns_a_full_name()
{
A.CallTo(() => _fakerContainer.Name.FirstName()).Returns("John");
A.CallTo(() => _fakerContainer.Name.LastName()).Returns("Smith");

Assert.AreEqual("John Smith", _appFaker.Author());
}
}
}
36 changes: 18 additions & 18 deletions tests/FakerDotNet.Tests/Fakers/FakeFakerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,6 @@ public void SetUp()
private IFakerContainer _fakerContainer;
private IFakeFaker _fakeFaker;

[Test]
public void F_returns_filled_in_string()
{
const string format = "{Name.FirstName} {Name.LastName}";

A.CallTo(() => _fakerContainer.Name.FirstName()).Returns("John");
A.CallTo(() => _fakerContainer.Name.LastName()).Returns("Smith");

Assert.AreEqual("John Smith", _fakeFaker.F(format));
}

[Test]
public void F_handles_duplicate_placeholders()
{
Expand All @@ -41,20 +30,23 @@ public void F_handles_duplicate_placeholders()
}

[Test]
public void F_with_null_throws_FormatException()
public void F_returns_filled_in_string()
{
var ex = Assert.Throws<FormatException>(() => _fakeFaker.F(null));

Assert.AreEqual("A string must be specified", ex.Message);
const string format = "{Name.FirstName} {Name.LastName}";

A.CallTo(() => _fakerContainer.Name.FirstName()).Returns("John");
A.CallTo(() => _fakerContainer.Name.LastName()).Returns("Smith");

Assert.AreEqual("John Smith", _fakeFaker.F(format));
}

[Test]
public void F_with_empty_string_throws_FormatException()
{
const string format = "";

var ex = Assert.Throws<FormatException>(() => _fakeFaker.F(format));

Assert.AreEqual("A string must be specified", ex.Message);
}

Expand All @@ -77,5 +69,13 @@ public void F_with_invalid_method_throws_FormatException()

Assert.AreEqual("Invalid method: Name.BadMethod", ex.Message);
}

[Test]
public void F_with_null_throws_FormatException()
{
var ex = Assert.Throws<FormatException>(() => _fakeFaker.F(null));

Assert.AreEqual("A string must be specified", ex.Message);
}
}
}
}
79 changes: 45 additions & 34 deletions tests/FakerDotNet.Tests/Fakers/NameFakerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,86 +10,97 @@ namespace FakerDotNet.Tests.Fakers
[Parallelizable]
public class NameFakerTests
{
private static readonly NameData Data = new NameData();

[SetUp]
public void SetUp()
{
_fakerContainer = A.Fake<IFakerContainer>();
_nameFaker = new NameFaker(_fakerContainer);
}

private static readonly NameData Data = new NameData();

private IFakerContainer _fakerContainer;
private INameFaker _nameFaker;

[Test]
public void Name_returns_a_name()
public void FirstName_returns_a_first_name()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.FirstNames)))
.Returns("Tyshawn");
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.LastNames)))
.Returns("Johns Sr.");

Assert.AreEqual("Tyshawn Johns Sr.", _nameFaker.Name());
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.FirstNames)))
.Returns("Kaci");

Assert.AreEqual("Kaci", _nameFaker.FirstName());
}

[Test]
public void NameWithMiddle_returns_name_with_a_middle_name()
public void LastName_returns_a_last_name()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.FirstNames)))
.ReturnsNextFromSequence("Aditya", "Elton");
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.LastNames)))
.Returns("Douglas");

Assert.AreEqual("Aditya Elton Douglas", _nameFaker.NameWithMiddle());
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.LastNames)))
.Returns("Ernser");

Assert.AreEqual("Ernser", _nameFaker.LastName());
}

[Test]
public void FirstName_returns_a_first_name()
public void Name_returns_a_name()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.FirstNames)))
.Returns("Kaci");

Assert.AreEqual("Kaci", _nameFaker.FirstName());
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.FirstNames)))
.Returns("Tyshawn");
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.LastNames)))
.Returns("Johns Sr.");

Assert.AreEqual("Tyshawn Johns Sr.", _nameFaker.Name());
}

[Test]
public void LastName_returns_a_last_name()
public void NameWithMiddle_returns_name_with_a_middle_name()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.LastNames)))
.Returns("Ernser");

Assert.AreEqual("Ernser", _nameFaker.LastName());
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.FirstNames)))
.ReturnsNextFromSequence("Aditya", "Elton");
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.LastNames)))
.Returns("Douglas");

Assert.AreEqual("Aditya Elton Douglas", _nameFaker.NameWithMiddle());
}

[Test]
public void Prefix_returns_a_prefix()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Prefixes)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Prefixes)))
.Returns("Mr.");

Assert.AreEqual("Mr.", _nameFaker.Prefix());
}

[Test]
public void Suffix_returns_a_suffix()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Suffixes)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.Suffixes)))
.Returns("IV");

Assert.AreEqual("IV", _nameFaker.Suffix());
}

[Test]
public void Title_returns_a_title()
{
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.TitleDescriptors)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.TitleDescriptors)))
.Returns("Legacy");
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.TitleLevels)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.TitleLevels)))
.Returns("Creative");
A.CallTo(() => _fakerContainer.Random.Element(A<IEnumerable<string>>.That.IsSameSequenceAs(Data.TitleJobs)))
A.CallTo(() => _fakerContainer.Random.Element(
A<IEnumerable<string>>.That.IsSameSequenceAs(Data.TitleJobs)))
.Returns("Director");

Assert.AreEqual("Legacy Creative Director", _nameFaker.Title());
}
}
Expand Down
Loading

0 comments on commit f3371ff

Please sign in to comment.