public static void Constructor_ExpectedValues() { // Setup var dynamicsFactory = Substitute.For <ITakeOffDynamicsCalculatorFactory>(); // Call var factory = new DistanceCalculatorFactory(dynamicsFactory); // Assert Assert.IsInstanceOf <IDistanceCalculatorFactory>(factory); }
public void CreateContinuedTakeOffDistanceCalculator_WithValidArguments_ReturnsExpectedCalculator() { // Setup var random = new Random(21); double density = random.NextDouble(); double gravitationalAcceleration = random.NextDouble(); int nrOfFailedEngines = random.Next(); AircraftData aircraftData = AircraftDataTestFactory.CreateRandomAircraftData(); var normalTakeOffDynamicsCalculator = Substitute.For <INormalTakeOffDynamicsCalculator>(); var failureTakeOffDynamicsCalculator = Substitute.For <IFailureTakeOffDynamicsCalculator>(); var takeOffDynamicsCalculatorFactory = Substitute.For <ITakeOffDynamicsCalculatorFactory>(); takeOffDynamicsCalculatorFactory.CreateNormalTakeOffDynamics(aircraftData, density, gravitationalAcceleration) .Returns(normalTakeOffDynamicsCalculator); takeOffDynamicsCalculatorFactory.CreateContinuedTakeOffDynamicsCalculator(aircraftData, nrOfFailedEngines, density, gravitationalAcceleration) .Returns(failureTakeOffDynamicsCalculator); var integrator = Substitute.For <IIntegrator>(); IDistanceCalculatorFactory factory = new DistanceCalculatorFactory(takeOffDynamicsCalculatorFactory); // Call IDistanceCalculator calculator = factory.CreateContinuedTakeOffDistanceCalculator(aircraftData, integrator, nrOfFailedEngines, density, gravitationalAcceleration, CalculationSettingsTestFactory.CreateDistanceCalculatorSettings()); // Assert takeOffDynamicsCalculatorFactory.DidNotReceiveWithAnyArgs().CreateAbortedTakeOffDynamics(Arg.Any <AircraftData>(), Arg.Any <double>(), Arg.Any <double>()); takeOffDynamicsCalculatorFactory.Received(1).CreateNormalTakeOffDynamics(Arg.Any <AircraftData>(), Arg.Any <double>(), Arg.Any <double>()); takeOffDynamicsCalculatorFactory.Received(1).CreateContinuedTakeOffDynamicsCalculator(Arg.Any <AircraftData>(), Arg.Any <int>(), Arg.Any <double>(), Arg.Any <double>()); Assert.IsInstanceOf <DistanceCalculator>(calculator); }
static void Main(string[] args) { //temporary solution for testing untill the unit tests are done if (!ConfigurationHelper.Instance.TestMode) { var options = new Options(); if (CommandLine.Parser.Default.ParseArguments(args, options)) { var computationRequest = InputHelper.Instance.GetQueryAndDistanceMatrix(options.QueryStringFilePath, options.DataSetFilePath); computationRequest.CalculateDistance = MetricFactory.GetDistanceMetric(options.MetricType); var result = DistanceCalculatorFactory.GetCalculator(options.ComputationType).GetComputationResult(computationRequest); Console.WriteLine(result.TotalRuntime); } else { Console.WriteLine("One or more invalid arguments"); return; } } else { Console.WriteLine("Begin"); var options = new Options(); options.ComputationType = CalculatorType.SYNC; options.MetricType = MetricType.HAMMING; //options.QueryStringFilePath = @"D:\ParallelProgramming\parallelprogramming\david_demirkhanyan\ParallelProgramming\ParallelProgramming.Tests\SampleData\queries.csv"; //options.DataSetFilePath = @"D:\ParallelProgramming\parallelprogramming\david_demirkhanyan\ParallelProgramming\ParallelProgramming.Tests\SampleData\data.csv"; var computationRequest = InputHelper.Instance.GetQueryAndDistanceMatrix(options.QueryStringFilePath, options.DataSetFilePath); computationRequest.CalculateDistance = MetricFactory.GetDistanceMetric(options.MetricType); var result = DistanceCalculatorFactory.GetCalculator(options.ComputationType).GetComputationResult(computationRequest); Console.WriteLine(result.TotalRuntime); } }
public void TestHammingSync() { try { var computationRequest = InputHelper.Instance.GetQueryAndDistanceMatrix(); Assert.IsNotNull(computationRequest.CalculateDistance); Assert.IsNotNull(computationRequest.DatasetVectors); computationRequest.CalculateDistance = MetricFactory.GetDistanceMetric(MetricType.HAMMING); var computationResult = DistanceCalculatorFactory.GetCalculator(CalculatorType.SYNC).GetComputationResult(computationRequest); Assert.IsNotNull(computationResult.DistanceMatrix); } catch (Exception ex) { throw new AssertFailedException(); } }
/// <summary> /// Creates a new instance of <see cref="AggregatedDistanceCalculatorKernel"/>. /// </summary> public AggregatedDistanceCalculatorKernel() { var distanceCalculatorFactory = new DistanceCalculatorFactory(new TakeOffDynamicsCalculatorFactory()); aggregatedDistanceCalculator = new AggregatedDistanceCalculator(distanceCalculatorFactory); }
/// <summary> /// Constructor which initializes the factory being used to return the service for distance method calculation. /// </summary> /// <param name="distanceCalculatorFactory"></param> public DistanceController(DistanceCalculatorFactory distanceCalculatorFactory) { _distanceCalculatorFactory = distanceCalculatorFactory; }