示例#1
0
        public void ConvertGenerationInstanceCompositionReturnsCorrectOutput()
        {
            var targetAlgorithmFactory =
                new TargetAlgorithmFactoryTest.DummyTargetAlgorithmFactory <
                    TargetAlgorithmFactoryTest.DummyTargetAlgorithm <InstanceSeedFile, TestResult>, InstanceSeedFile, TestResult>() as
                ITargetAlgorithmFactory <TargetAlgorithmFactoryTest.DummyTargetAlgorithm <InstanceSeedFile, TestResult>, InstanceSeedFile,
                                         TestResult>;

            // Read generation instance composition from file and convert it.
            GrayBoxUtils.TryToReadGenerationCompositionFromFile(
                GrayBoxUtilsTest.GenerationInstanceCompositionFile,
                out var generationInstanceComposition).ShouldBeTrue();
            var(convertedGenerationInstanceComposition, instanceStringDictionary) =
                GrayBoxUtils.ConvertGenerationInstanceComposition(generationInstanceComposition, targetAlgorithmFactory);

            // Check counts.
            instanceStringDictionary.Count.ShouldBe(50);
            convertedGenerationInstanceComposition.Count.ShouldBe(3);
            convertedGenerationInstanceComposition[0].Count.ShouldBe(5);
            convertedGenerationInstanceComposition[1].Count.ShouldBe(46);
            convertedGenerationInstanceComposition[2].Count.ShouldBe(50);

            // Check all elements.
            var flatenGenerationInstanceComposition          = generationInstanceComposition.SelectMany(x => x).ToList();
            var flatenConvertedGenerationInstanceComposition = convertedGenerationInstanceComposition.SelectMany(x => x).ToList();

            for (var index = 0; index < flatenConvertedGenerationInstanceComposition.Count; index++)
            {
                instanceStringDictionary[flatenConvertedGenerationInstanceComposition[index]].ShouldBe(flatenGenerationInstanceComposition[index]);
            }
        }
示例#2
0
        public void TryToReadDataRecordsFromFileReturnsFalseForBrokenFiles()
        {
            var targetAlgorithmFactory =
                new TargetAlgorithmFactoryTest.DummyTargetAlgorithmFactory <
                    TargetAlgorithmFactoryTest.DummyTargetAlgorithm <TestInstance, RuntimeResult>, TestInstance, RuntimeResult>();

            GrayBoxUtils.TryToReadDataRecordsFromFile(targetAlgorithmFactory, GrayBoxUtilsTest.BrokenDataLogFile, out var dataRecords)
            .ShouldBeFalse();
        }
示例#3
0
        public void TryToReadDataRecordsFromFileWorksForValidFiles()
        {
            var targetAlgorithmFactory =
                new TargetAlgorithmFactoryTest.DummyTargetAlgorithmFactory <
                    TargetAlgorithmFactoryTest.DummyTargetAlgorithm <TestInstance, RuntimeResult>, TestInstance, RuntimeResult>();

            GrayBoxUtils.TryToReadDataRecordsFromFile(targetAlgorithmFactory, GrayBoxUtilsTest.ValidDataLogFile, out var dataRecords).ShouldBeTrue();

            // Check count.
            dataRecords.Count.ShouldBe(1);

            // Check all values.
            GrayBoxUtilsTest.CheckDataRecordValues(dataRecords[0]);
        }
示例#4
0
        public void TryToReadDataRecordsFromDirectoryReturnsCorrectOutput()
        {
            var targetAlgorithmFactory =
                new TargetAlgorithmFactoryTest.DummyTargetAlgorithmFactory <
                    TargetAlgorithmFactoryTest.DummyTargetAlgorithm <TestInstance, RuntimeResult>, TestInstance, RuntimeResult>();

            GrayBoxUtils.TryToReadDataRecordsFromDirectory(
                targetAlgorithmFactory,
                GrayBoxUtilsTest.PathToRealTestDataDirectory,
                0,
                1,
                out var dataRecords)
            .ShouldBeTrue();

            // Check count.
            dataRecords.Count.ShouldBe(2);

            // Check all values.
            foreach (var dataRecord in dataRecords)
            {
                GrayBoxUtilsTest.CheckDataRecordValues(dataRecord);
            }
        }