<commit_before>﻿using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
using CsvHelper;

namespace Hidari0415.UstdCsv2Ju
{
	internal class ResultXmlWriter
	{
		public string InputCsv { get; private set; }
		public int Threshold { get; private set; }
		public string OutputXml { get; private set; }

		public ResultXmlWriter(string inputCsv, int threshold, string outputXml)
		{
			InputCsv = inputCsv;
			Threshold = threshold;
			OutputXml = outputXml;
		}

		internal void WriteResultFile()
		{
			// TODO: UstdCsvクラスに処理を移動する
			// CSVファイルを読み込んでレコードをMetricRecordのリストとして保持する
			var records = UstdCsvReader.ReadMetricRecords(InputCsv);

			// TODO: メソッドを切り出すか、別のクラスに移動する
			// 読み込んだレコードをXMLの元になるJUnitStyleTestCaseに詰め込む
			var result = new List<JUnitStyleTestCase>();

			foreach (var metricRecord in records)
			{
				var testCase = new JUnitStyleTestCase()
				{
					ClassName = metricRecord.File.Replace('.', '_').Replace('\\', '.'),
					Name = metricRecord.Name,
					Time = "0.00"
				};

				if (metricRecord.Value > Threshold)
				{
					testCase.FailureElement = new JUnitStyleFailureElement(
						"Over threshold.",
						"Value is " + (metricRecord.Value - Threshold) + " over."
					);<commit_msg>TODO消した<commit_after>﻿using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
using CsvHelper;

namespace Hidari0415.UstdCsv2Ju
{
	internal class ResultXmlWriter
	{
		public string InputCsv { get; private set; }
		public int Threshold { get; private set; }
		public string OutputXml { get; private set; }

		public ResultXmlWriter(string inputCsv, int threshold, string outputXml)
		{
			InputCsv = inputCsv;
			Threshold = threshold;
			OutputXml = outputXml;
		}

		internal void WriteResultFile()
		{
			// CSVファイルを読み込んでレコードをMetricRecordのリストとして保持する
			var records = UstdCsvReader.ReadMetricRecords(InputCsv);

			// TODO: メソッドを切り出すか、別のクラスに移動する
			// 読み込んだレコードをXMLの元になるJUnitStyleTestCaseに詰め込む
			var result = new List<JUnitStyleTestCase>();

			foreach (var metricRecord in records)
			{
				var testCase = new JUnitStyleTestCase()
				{
					ClassName = metricRecord.File.Replace('.', '_').Replace('\\', '.'),
					Name = metricRecord.Name,
					Time = "0.00"
				};

				if (metricRecord.Value > Threshold)
				{
					testCase.FailureElement = new JUnitStyleFailureElement(
						"Over threshold.",
						"Value is " + (metricRecord.Value - Threshold) + " over."
					);
{'fraction_non_alphanumeric': 0.10494571773220748, 'fraction_numerical': 0.006433453960595094, 'mean_word_length': 3.598890942698706, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2202780', 'n_tokens_mistral': 1041, 'n_tokens_neox': 877, 'n_words': 184}