Skip to content

Commit

Permalink
Merge 58c2df6 into 21a6873
Browse files Browse the repository at this point in the history
  • Loading branch information
mrstebo committed Feb 3, 2019
2 parents 21a6873 + 58c2df6 commit 26acad4
Show file tree
Hide file tree
Showing 9 changed files with 196 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ A .NET port of the Ruby [faker](https://github.com/stympy/faker) gem
- [Faker.Random](doc/random.md)
- [Faker.RickAndMorty](doc/rick_and_morty.md)
- [Faker.RockBand](doc/rockband.md)
- [Faker.RuPaul](doc/rupaul.md)
- [Faker.SlackEmoji](doc/slackemoji.md)
- [Faker.Space](doc/space.md)
- [Faker.StarWars](doc/star_wars.md)
Expand Down
6 changes: 6 additions & 0 deletions doc/rupaul.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Faker.RuPaul

```cs
Faker.RuPaul.Quote() //=> "That's Funny, Tell Another One"
Faker.RuPaul.Queen() //=> "Latrice Royale"
```
103 changes: 103 additions & 0 deletions src/FakerDotNet/Data/RuPaulData.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
using System.Collections.Generic;

namespace FakerDotNet.Data
{
internal static class RuPaulData
{
public static readonly IEnumerable<string> Queens = new[]
{
"Tyra Sanchez",
"Raven",
"Jujubee",
"Tatianna",
"Pandora Boxx",
"Jessica Wild",
"Sahara Davenport",
"Morgan McMichaels",
"Shangela Wadley",
"Raja",
"Manila Luzon",
"Alexis Mateo",
"Yara Sofia",
"Carmen Carrera",
"Delta Work",
"Stacy Layne Matthews",
"Mimi Imfurst",
"Sharon Needles",
"Chad Michaels",
"Phi Phi O'Hara",
"Latrice Royale",
"Kenya Michaels",
"Dida Ritz",
"Willam",
"Jiggly Caliente",
"Jinkx Monsoon",
"Alaska",
"Roxxxy Andrews",
"Detox",
"Coco Montrese",
"Alyssa Edwards",
"Ivy Winters",
"Bianca Del Rio",
"Adore Delano",
"Courtney Act",
"Darienne Lake",
"BenDeLaCreme",
"Joslyn Fox",
"Trinity K Bonet",
"Laganja Estranja",
"Milk",
"Gia Gunn",
"Violet Chachki",
"Ginger Minj",
"Pearl",
"Kennedy Davenport",
"Katya",
"Trixie Mattel",
"Miss Fame",
"Bob The Drag Queen",
"Kim Chi",
"Naomi Smalls",
"Chi Chi DeVayne",
"Derrick Barry",
"Thorgy Thor",
"Robbie Turner",
"Acid Betty",
"Sasha Velour",
"Peppermint",
"Shea Coulee",
"Trinity Taylor",
"Alexis Michelle",
"Nina Bonina Brown",
"Valentina",
"Farrah Moan",
"Aja",
"Cynthia Lee Fontaine"
};

public static readonly IEnumerable<string> Quotes = new[]
{
"Glamazon!",
"Put The Bass In Your Walk",
"Sashay Away",
"Don't F*ck It Up",
"Shante, You Stay",
"Shante, Shante, Shante",
"You Betta Work",
"Lip-Sync for Your Life",
"Extravaganza Eleganza",
"Let the music play",
"That's Funny, Tell Another One",
"Sissy That Walk",
"Don't Be Jealous Of My Boogie",
"You're Born Naked, The Rest Is Drag",
"Life Is About Using The Whole Box Of Crayons",
"When The Going Gets Tough, The Tough Reinvent",
"Hello Hello Hello!",
"Bring Back My Girls",
"Just Between Us Squirrel Friends",
"Get Out Your Library Cards",
"Silence...I've made my decision"
};
}
}
1 change: 1 addition & 0 deletions src/FakerDotNet/Faker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ public static class Faker
public static IRandomFaker Random { get; } = Container.Random;
public static IRickAndMortyFaker RickAndMorty { get; } = Container.RickAndMorty;
public static IRockBandFaker RockBand { get; } = Container.RockBand;
public static IRuPaulFaker RuPaul { get; } = Container.RuPaul;
public static ISlackEmojiFaker SlackEmoji { get; } = Container.SlackEmoji;
public static ISpaceFaker Space { get; } = Container.Space;
public static IStarWarsFaker StarWars { get; } = Container.StarWars;
Expand Down
3 changes: 3 additions & 0 deletions src/FakerDotNet/FakerContainer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ internal interface IFakerContainer
IRandomFaker Random { get; }
IRickAndMortyFaker RickAndMorty { get; }
IRockBandFaker RockBand { get; }
IRuPaulFaker RuPaul { get; }
ISlackEmojiFaker SlackEmoji { get; }
ISpaceFaker Space { get; }
IStarWarsFaker StarWars { get; }
Expand Down Expand Up @@ -94,6 +95,7 @@ public FakerContainer()
Random = new RandomFaker();
RickAndMorty = new RickAndMortyFaker(this);
RockBand = new RockBandFaker(this);
RuPaul = new RuPaulFaker(this);
SlackEmoji = new SlackEmojiFaker(this);
Space = new SpaceFaker(this);
StarWars = new StarWarsFaker(this);
Expand Down Expand Up @@ -143,6 +145,7 @@ public FakerContainer()
public IRandomFaker Random { get; }
public IRickAndMortyFaker RickAndMorty { get; }
public IRockBandFaker RockBand { get; }
public IRuPaulFaker RuPaul { get; }
public ISlackEmojiFaker SlackEmoji { get; }
public ISpaceFaker Space { get; }
public IStarWarsFaker StarWars { get; }
Expand Down
30 changes: 30 additions & 0 deletions src/FakerDotNet/Fakers/RuPaulFaker.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using FakerDotNet.Data;

namespace FakerDotNet.Fakers
{
public interface IRuPaulFaker
{
string Quote();
string Queen();
}

internal class RuPaulFaker : IRuPaulFaker
{
private readonly IFakerContainer _fakerContainer;

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

public string Quote()
{
return _fakerContainer.Random.Element(RuPaulData.Quotes);
}

public string Queen()
{
return _fakerContainer.Random.Element(RuPaulData.Queens);
}
}
}
6 changes: 6 additions & 0 deletions tests/FakerDotNet.Tests/FakerContainerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,12 @@ public void RockBand_returns_IRockBandFaker()
Assert.IsInstanceOf<IRockBandFaker>(_fakerContainer.RockBand);
}

[Test]
public void RuPaul_returns_IRuPaulFaker()
{
Assert.IsInstanceOf<IRuPaulFaker>(_fakerContainer.RuPaul);
}

[Test]
public void SlackEmoji_returns_ISlackEmoji()
{
Expand Down
6 changes: 6 additions & 0 deletions tests/FakerDotNet.Tests/FakerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,12 @@ public void RockBand_returns_IRockBandFaker()
Assert.IsInstanceOf<IRockBandFaker>(Faker.RockBand);
}

[Test]
public void RuPaul_returns_IRuPaulFaker()
{
Assert.IsInstanceOf<IRuPaulFaker>(Faker.RuPaul);
}

[Test]
public void SlackEmoji_returns_ISlackEmoji()
{
Expand Down
40 changes: 40 additions & 0 deletions tests/FakerDotNet.Tests/Fakers/RuPaulFakerTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using FakeItEasy;
using FakerDotNet.Data;
using FakerDotNet.Fakers;
using NUnit.Framework;

namespace FakerDotNet.Tests.Fakers
{
[TestFixture]
[Parallelizable]
public class RuPaulFakerTests
{
[SetUp]
public void SetUp()
{
_fakerContainer = A.Fake<IFakerContainer>();
_ruPaulFaker = new RuPaulFaker(_fakerContainer);
}

private IFakerContainer _fakerContainer;
private IRuPaulFaker _ruPaulFaker;

[Test]
public void Quote_returns_a_quote()
{
A.CallTo(() => _fakerContainer.Random.Element(RuPaulData.Quotes))
.Returns("That's Funny, Tell Another One");

Assert.AreEqual("That's Funny, Tell Another One", _ruPaulFaker.Quote());
}

[Test]
public void Queen_returns_a_queen()
{
A.CallTo(() => _fakerContainer.Random.Element(RuPaulData.Queens))
.Returns("Latrice Royale");

Assert.AreEqual("Latrice Royale", _ruPaulFaker.Queen());
}
}
}

0 comments on commit 26acad4

Please sign in to comment.