Example #1
0
        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));
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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));
        }