public void GetIdentification_passes_explicit_requested_version_to_factory(ICreatesBrowserVersions versionFactory,
                                                                                   [BrowserId] IHasCapabilities driver,
                                                                                   ICapabilities requestedCaps,
                                                                                   string requestedVersion)
        {
            // Arrange
            var sut = new BrowserIdentificationFactory(versionFactory);

            Mock.Get(requestedCaps).SetupGet(x => x.Version).Returns(requestedVersion);

            // Act
            sut.GetIdentification(driver, requestedCaps);

            // Assert
            Mock.Get(versionFactory)
            .Verify(x => x.CreateVersion(It.IsAny <string>(), It.IsAny <string>(), requestedVersion), Times.Once);
        }
        public void GetIdentification_uses_version_creator(ICreatesBrowserVersions versionFactory,
                                                           [BrowserId] IHasCapabilities driver,
                                                           SimpleStringVersion expectedVersion)
        {
            // Arrange
            var sut = new BrowserIdentificationFactory(versionFactory);

            Mock.Get(versionFactory)
            .Setup(x => x.CreateVersion(driver.Capabilities.Version, driver.Capabilities.BrowserName, null))
            .Returns(expectedVersion);

            // Act
            var result = sut.GetIdentification(driver);

            // Assert
            Assert.That(result.Version, Is.SameAs(expectedVersion));
        }
예제 #3
0
        public void GetFlagsDefinitions_can_get_definitions_from_stream(ICreatesBrowserVersions versionFactory)
        {
            // Arrange
            var sut = new DefinitionReader(versionFactory);

            Mock.Get(versionFactory)
            .Setup(x => x.CreateVersion(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns((string ver, string browser, string presumed) => new SimpleStringVersion(ver));
            var expected = GetSampleDefinitionsContents();

            // Act
            IReadOnlyCollection <FlagsDefinition> result;

            using (var stream = GetSampleDefinitionsStream())
                result = sut.GetFlagsDefinitions(stream);

            // Assert
            Assert.That(result, Is.EqualTo(expected));
        }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DefinitionReader"/> class.
 /// </summary>
 /// <param name="versionFactory">A factory which creates version numbers.</param>
 public DefinitionReader(ICreatesBrowserVersions versionFactory)
 {
     this.versionFactory = versionFactory ?? new VersionFactory();
 }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BrowserIdentificationFactory"/> class.
 /// </summary>
 /// <param name="versionFactory">A factory service which creates browser versions.</param>
 public BrowserIdentificationFactory(ICreatesBrowserVersions versionFactory)
 {
     this.versionFactory = versionFactory ?? new VersionFactory();
 }
        public void GetIdentification_uses_explicit_requested_version_over_version_stored_in_driver(ICreatesBrowserVersions versionFactory,
                                                                                                    [BrowserId(RequestedVersion = "123")] IHasCapabilities driver,
                                                                                                    ICapabilities requestedCaps)
        {
            // Arrange
            var sut = new BrowserIdentificationFactory(versionFactory);

            Mock.Get(requestedCaps).SetupGet(x => x.Version).Returns("456");

            // Act
            sut.GetIdentification(driver, requestedCaps);

            // Assert
            Mock.Get(versionFactory)
            .Verify(x => x.CreateVersion(It.IsAny <string>(), It.IsAny <string>(), "456"), Times.Once);
            Mock.Get(versionFactory)
            .Verify(x => x.CreateVersion(It.IsAny <string>(), It.IsAny <string>(), "123"), Times.Never);
        }
        public void GetIdentification_can_pass_null_to_version_factory_as_original_version(ICreatesBrowserVersions versionFactory,
                                                                                           [BrowserId(HasRequestedVersion = true)] IHasCapabilities driver)
        {
            // Arrange
            var sut = new BrowserIdentificationFactory(versionFactory);

            // Act
            sut.GetIdentification(driver);

            // Assert
            Mock.Get(versionFactory)
            .Verify(x => x.CreateVersion(It.IsAny <string>(), It.IsAny <string>(), null), Times.Once);
        }
        public void GetIdentification_passes_original_browser_version_to_version_factory_when_it_exists(ICreatesBrowserVersions versionFactory,
                                                                                                        [BrowserId(RequestedVersion = "123")] IHasCapabilities driver)
        {
            // Arrange
            var sut = new BrowserIdentificationFactory(versionFactory);

            // Act
            sut.GetIdentification(driver);

            // Assert
            Mock.Get(versionFactory)
            .Verify(x => x.CreateVersion(It.IsAny <string>(), It.IsAny <string>(), "123"), Times.Once);
        }