public void Matches_returns_true_when_all_aspects_match_but_platform_and_versions_are_missing(string browserName, string platform) { // Arrange var browserId = new BrowserIdentification(browserName, new SimpleStringVersion("b"), platform); var sut = new FlagsDefinition(); sut.BrowserNames.Add(browserName); // Act var result = sut.Matches(browserId); // Assert Assert.That(result, Is.True); }
public void GetFlags_returns_flags_added_by_single_provider(BrowserIdentification browserId, List <string> flags) { // Arrange var definition = new FlagsDefinition(); definition.BrowserNames.Add(browserId.Name); definition.AddFlags.UnionWith(flags); var sut = new BrowserFlagsProvider(new [] { definition }); // Act var result = sut.GetFlags(browserId); // Assert Assert.That(result, Is.EquivalentTo(flags)); }
public void Matches_returns_false_when_browser_name_differs(string browserName, string platform, string otherBrowser) { // Arrange var browserId = new BrowserIdentification(browserName, new SimpleStringVersion("b"), platform); var sut = new FlagsDefinition { MinimumVersion = new SimpleStringVersion("a"), MaximumVersion = new SimpleStringVersion("c"), }; sut.BrowserNames.Add(otherBrowser); sut.Platforms.Add(platform); // Act var result = sut.Matches(browserId); // Assert Assert.That(result, Is.False); }
public void Matches_returns_true_when_version_is_equal_to_min(string browserName, string platform) { // Arrange var browserId = new BrowserIdentification(browserName, new SimpleStringVersion("b"), platform); var sut = new FlagsDefinition { MinimumVersion = new SimpleStringVersion("b"), MaximumVersion = new SimpleStringVersion("d"), }; sut.BrowserNames.Add(browserName); sut.Platforms.Add(platform); // Act var result = sut.Matches(browserId); // Assert Assert.That(result, Is.True); }
public void Matches_returns_true_when_all_aspects_are_present_and_match(string browserName, string platform) { // Arrange var browserId = new BrowserIdentification(browserName, new SimpleStringVersion("b"), platform); var sut = new FlagsDefinition { MinimumVersion = new SimpleStringVersion("a"), MaximumVersion = new SimpleStringVersion("c"), }; sut.BrowserNames.Add(browserName); sut.Platforms.Add(platform); // Act var result = sut.Matches(browserId); // Assert Assert.That(result, Is.True); }
public void GetFlags_returns_flags_added_by_two_providers(BrowserIdentification browserId) { // Arrange var definitionOne = new FlagsDefinition(); definitionOne.BrowserNames.Add(browserId.Name); definitionOne.AddFlags.Add("One"); var definitionTwo = new FlagsDefinition(); definitionTwo.BrowserNames.Add(browserId.Name); definitionTwo.AddFlags.Add("Two"); var sut = new BrowserFlagsProvider(new [] { definitionOne, definitionTwo }); var expected = new [] { "One", "Two" }; // Act var result = sut.GetFlags(browserId); // Assert Assert.That(result, Is.EquivalentTo(expected)); }
public void GetFlags_does_not_include_flags_removed_by_same_provider(BrowserIdentification browserId) { // Arrange var definitionOne = new FlagsDefinition(); definitionOne.BrowserNames.Add(browserId.Name); definitionOne.AddFlags.Add("One"); definitionOne.RemoveFlags.Add("One"); var definitionTwo = new FlagsDefinition(); definitionTwo.BrowserNames.Add(browserId.Name); definitionTwo.AddFlags.Add("Two"); var sut = new BrowserFlagsProvider(new [] { definitionOne, definitionTwo }); var expected = new [] { "Two" }; // Act var result = sut.GetFlags(browserId); // Assert Assert.That(result, Is.EquivalentTo(expected)); }
public void GetFlags_ignores_flags_added_by_non_matching_provider(BrowserIdentification browserId, string otherBrowserName) { // Arrange var definitionOne = new FlagsDefinition(); definitionOne.BrowserNames.Add(browserId.Name); definitionOne.AddFlags.Add("One"); var definitionTwo = new FlagsDefinition(); definitionTwo.BrowserNames.Add(otherBrowserName); definitionTwo.AddFlags.Add("Two"); var sut = new BrowserFlagsProvider(new [] { definitionOne, definitionTwo }); var expected = new [] { "One" }; // Act var result = sut.GetFlags(browserId); // Assert Assert.That(result, Is.EquivalentTo(expected)); }