using System;
using System.Text.RegularExpressions;
using System.Linq.Expressions;
using System.Collections.Generic;
using System.Linq;
class Test
{
private Result result;
public enum Result
{
SUCCESS = 1,
FAIL = 2,
NONE = 3
}
public static void Main()
{
string input = @"Today at 01:05: (NAME) Failed Backup - The operation encountered an error. (NAME)
Failed when backing up: A file was not found (NAME)
DISK_OPEN_ERROR
Today at 01:04: (NAME) Successful Backup - Backed 42,73 MB (compressed to 7,32 MB).(Duration: 1 minute)
Today at 00:59: (NAME) Successful Backup - Backed 3,41 GB (compressed to 379,17 MB).(Duration: 4 minutes)";
Test test = new Test();
var results = test.FindResult(input);
foreach (var r in results)
{
Console.WriteLine(r);
}
}
public List<Result> FindResult(string text)
{
return Regex
.Split(text, @"\r?\n\s*\r?\n")
.Select(s => s.Contains("Failed") ? Result.FAIL : Result.SUCCESS)
.ToList();
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5MaW5xLkV4cHJlc3Npb25zOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpjbGFzcyBUZXN0CnsKICAgIHByaXZhdGUgUmVzdWx0IHJlc3VsdDsKICAgIHB1YmxpYyBlbnVtIFJlc3VsdAogICAgewogICAgICAgIFNVQ0NFU1MgPSAxLAogICAgICAgIEZBSUwgPSAyLAogICAgICAgIE5PTkUgPSAzCgogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nIGlucHV0ID0gQCJUb2RheSBhdCAwMTowNTogKE5BTUUpIEZhaWxlZCBCYWNrdXAgLSBUaGUgb3BlcmF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yLiAoTkFNRSkKRmFpbGVkIHdoZW4gYmFja2luZyB1cDogQSBmaWxlIHdhcyBub3QgZm91bmQgKE5BTUUpCkRJU0tfT1BFTl9FUlJPUgoKVG9kYXkgYXQgMDE6MDQ6IChOQU1FKSBTdWNjZXNzZnVsIEJhY2t1cCAtIEJhY2tlZCA0Miw3MyBNQiAoY29tcHJlc3NlZCB0byA3LDMyIE1CKS4oRHVyYXRpb246IDEgbWludXRlKQoKVG9kYXkgYXQgMDA6NTk6IChOQU1FKSBTdWNjZXNzZnVsIEJhY2t1cCAtIEJhY2tlZCAzLDQxIEdCIChjb21wcmVzc2VkIHRvIDM3OSwxNyBNQikuKER1cmF0aW9uOiA0IG1pbnV0ZXMpIjsKCgkJVGVzdCB0ZXN0ID0gbmV3IFRlc3QoKTsKICAgICAgICB2YXIgcmVzdWx0cyA9IHRlc3QuRmluZFJlc3VsdChpbnB1dCk7CiAgICAgICAgZm9yZWFjaCAodmFyIHIgaW4gcmVzdWx0cykKICAgICAgICB7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHIpOwogICAgICAgIH0KCX0KCiAgICBwdWJsaWMgTGlzdDxSZXN1bHQ+IEZpbmRSZXN1bHQoc3RyaW5nIHRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFJlZ2V4CiAgICAgICAgLlNwbGl0KHRleHQsIEAiXHI/XG5ccypccj9cbiIpCiAgICAgICAgLlNlbGVjdChzID0+IHMuQ29udGFpbnMoIkZhaWxlZCIpID8gUmVzdWx0LkZBSUwgOiBSZXN1bHQuU1VDQ0VTUykKICAgICAgICAuVG9MaXN0KCk7CiAgICB9Cn0=