public void Hvor_ErDet_Ledig() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-mfk-160615-0953.xml"); var res = sut.ReadSeats(file).ToList(); var freeSeats = res.Where(s => SeatStatusClassifier.Classify(s.EttCode) == SeatStatus.AvailableForPurchase) .GroupBy(s => s.SectionName) .Select(g => new { Section = g.Key, Antall = g.Count() }) .OrderBy(g => g.Section) .ToList(); var builder = new StringBuilder(); var sum = 0; foreach (var freeSeat in freeSeats) { builder.AppendFormat("Seksjon '{0}': {1} ledige seter\r\n", freeSeat.Section, freeSeat.Antall); sum += freeSeat.Antall; } builder.AppendFormat("Sum: {0} seter til salgs\r\n", sum); var output = builder.ToString(); Console.WriteLine(output); }
public Measurement ReadMeasurement(MeasurementFile measurementFile) { var ticketFile = BillettServiceXmlFile.LoadFile(measurementFile.FullPath); if (ticketFile == null) { return(null); } var summary = new SummaryGenerator().CreateSummary(ticketFile); Measurement measurement = new Measurement { MeasurementTime = measurementFile.MeasurementTime, AmountSold = summary.ContainsKey(SeatStatus.Sold) ? summary[SeatStatus.Sold] : 0, AmountSeasonTicket = summary.ContainsKey(SeatStatus.SeasonTicket) ? summary[SeatStatus.SeasonTicket] : 0, AmountAvailable = summary.ContainsKey(SeatStatus.AvailableForPurchase) ? summary[SeatStatus.AvailableForPurchase] : 0, AmountReserved = summary.ContainsKey(SeatStatus.Reserved) ? summary[SeatStatus.Reserved] : 0, AmountUnavailable = summary.ContainsKey(SeatStatus.Unavailable) ? summary[SeatStatus.Unavailable] : 0, AmountTicketMaster = summary.ContainsKey(SeatStatus.HeldByTicketMasterApplication) ? summary[SeatStatus.HeldByTicketMasterApplication] : 0, AmountUnknown = summary.ContainsKey(SeatStatus.Unknown) ? summary[SeatStatus.Unknown] : 0 }; return(measurement); }
public void Koder_etter_antall_inkl_hvordan_vi_oppfatter_dem() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"D:\temp\staut\data\Godset-160301-1002.xml"); var res = sut.ReadSeats(file).ToList(); var byCode = res.GroupBy(s => s.EttCode.Code) .Select( g => new { Code = g.Key, Count = g.Count(), Classification = SeatStatusClassifier.Classify(g.Key) }) .Where(g => g.Classification == SeatStatus.Sold) .OrderByDescending(s => s.Count); var builder = new StringBuilder(); foreach (var code in byCode) { builder.AppendLine(code.Code + ": " + code.Count + "stk. - " + code.Classification); } var output = builder.ToString(); Console.WriteLine(output); }
public void Sesongkort_Only_FinnKoder() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-Glimt-020615-2048.xml"); var res = sut.ReadSeats(file).ToList(); var allRelevantCodes = res.Where(s => s.EttCode.QualifierBits > 0x400 && s.EttCode.QualifierBits < 0x600) .GroupBy(s => s.EttCode.QualifierBitsHex) .Select(g => new { Code = g.Key, Seats = g.Count() }) .OrderByDescending(g => g.Seats) .ToList(); var bldr = new StringBuilder(); var seats = 0; foreach (var gruppe in allRelevantCodes) { bldr.AppendLine("Code: " + gruppe.Code + " Seter: " + gruppe.Seats); seats += gruppe.Seats; } bldr.AppendLine("Sum: " + seats); var output = bldr.ToString(); Console.WriteLine(output); }
public void ReadSeats_WhenGivedActualBSFile_HaveSomeFun() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-TIL-180515-1007.xml"); // Act var res = sut.ReadSeats(file).ToList(); var grouped = res.GroupBy(s => s.EttCode.Code) .Select(g => new { Ett = g.Key, Seats = g.ToList() }) .OrderByDescending(g => g.Seats.Count) .ToList(); var builder = new StringBuilder(); foreach (var grp in grouped) { builder.AppendLine(String.Format("{0}: {1}", grp.Ett, grp.Seats.Count)); } var sesongkort = res.Count(s => s.EttCode.QualifierBitsHex.StartsWith("4")); var stats = res.Select(s => SeatStatusClassifier.Classify(s.EttCode)) .GroupBy(s => s) .Select(s => new { Status = s.Key, Count = s.Count() }) .OrderByDescending(g => g.Count) .ToList(); var oversikt = builder.ToString(); Console.WriteLine(oversikt); }
protected override void BeginProcessing() { base.BeginProcessing(); var reader = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(_filename); _seats = reader.ReadSeats(file).ToList(); }
public void vennebillett_stuff_test() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-TIL-310515-1415.xml"); var res = sut.ReadSeats(file).ToList(); var pa = res.Where(s => s.SectionName.Contains("EA") && s.RowName == "21").ToList(); var joakim = res.Where(s => s.EttCode.QualifierBitsHex == "591").ToList(); }
public void Run() { using (PerformanceTester.Start(PrintPerformance)) { PrintHeader(); if (_opts.GotInputFile) { _ticketFile = BillettServiceXmlFile.LoadFile(_opts.InputFile); if (_opts.DumpArgs) { DumpArgs(); } if (_opts.OutputCsv) { Export <SeterToCsv>(_opts.CsvOutputFile); } if (_opts.OutputLedigFile) { Export <LedigFile>(_opts.LedigTextFile); } if (_opts.OutputOpptattFile) { Export <OpptattFile>(_opts.OpptattTextFile); } if (_opts.OutputXmlFile) { WriteXml(); } if (_opts.PerformSeatQuery) { Export <SeatQuery>(_opts.SeatQuery); } Export <SeatQuery>("NB:8"); if (_opts.PrintCountSummary) { PrintCountSummary(); } //PrintCountSummary(); Print("Ingen gyldige outputs angitt.", _outputsUsed == 0); } else { Print("Manglende eller ugyldig inputfil"); } } if (_opts.Hate) { PrintHate(); } Console.ReadKey(); }
public void Sum_SolgteOgSesongkort_HeleStadion() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"D:\temp\staut\data\Godset-160309-1300.xml"); var res = sut.ReadSeats(file).ToList(); var sold = res.Select(s => SeatStatusClassifier.Classify(s.EttCode)) .Where(s => s == SeatStatus.SeasonTicket || s == SeatStatus.Sold) .Count(); Console.WriteLine(sold); }
public void Plasser_hos_Kjernen() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"D:\temp\staut\data\Godset-160301-1002.xml"); var res = sut.ReadSeats(file).ToList(); var allRelevantCodes = res.Where(s => s.SectionName.Contains("KJ")) .ToList(); var output = allRelevantCodes.Count; Console.WriteLine(output); }
public void finn_vanligste_koder() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-TIL-310515-1415.xml"); var res = sut.ReadSeats(file).ToList(); var pa = res.Where(s => s.SectionName.Contains("KJ")) .GroupBy(s => s.EttCode.Code) .Select(g => new { Code = g.Key, Seats = g.Count() }) .OrderByDescending(g => g.Seats) .ToList(); Console.WriteLine("Break here"); }
public void Kode_By_Field() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-TIL-300515-0040.xml"); var res = sut.ReadSeats(file).ToList(); var pa = res.Where(s => s.EttCode.QualifierBitsHex == "17") .GroupBy(s => s.SectionName) .Select(g => new { Section = g.Key, Seats = g.Count() }) .OrderByDescending(g => g.Seats) .ToList(); Console.WriteLine(pa.Count); }
public void Bortesupportere_Solgt() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"D:\temp\staut\TestData\438531_Stabæk_2015-09-08T10-57.xml"); var res = sut.ReadSeats(file).ToList(); var allRelevantCodes = res.Where(s => s.SectionName.Contains("SB") || s.SectionName.Contains("RB")) .Select(s => SeatStatusClassifier.Classify(s.EttCode)) .GroupBy(g => g) .Select(g => new { Code = g.Key, Count = g.Count() }) .ToList(); var output = allRelevantCodes.Count; Console.WriteLine(output); }
public void Status_Plasser_hos_Kjernen() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"D:\temp\staut\data\Godset-160301-1002.xml"); var res = sut.ReadSeats(file).ToList(); var allRelevantCodes = res.Where(s => s.SectionName.Contains("KJ")) .Select(s => SeatStatusClassifier.Classify(s.EttCode)) .GroupBy(g => g) .Select(g => new { Code = g.Key, Count = g.Count() }) .ToList(); var output = allRelevantCodes.Count; Console.WriteLine(output); }
public void surr_sull_tull() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-TIL-010615-0812.xml"); // Act var res = sut.ReadSeats(file).ToList(); var stats = res.Select(s => SeatStatusClassifier.Classify(s.EttCode)) .GroupBy(s => s) .Select(s => new { Status = s.Key, Count = s.Count() }) .OrderByDescending(g => g.Count) .ToList(); var builder = new StringBuilder(); var sum = 0; foreach (var item in stats) { builder.AppendLine(item.Status + ": " + item.Count); sum += item.Count; } builder.AppendLine("--------------------------"); builder.AppendLine("Sum: " + sum); var result = builder.ToString(); var ukjent = res//.Where(s => SeatStatusClassifier.Classify(s.EttCode) == SeatStatus.Unavailable) .GroupBy(s => s.EttCode.Code) .Select(s => new { Code = s.Key, Seats = s.ToList() }) .OrderBy(g => g.Code) .ToList(); var bldr = new StringBuilder(); var ukjente = 0; foreach (var gruppe in ukjent) { bldr.AppendLine("Code: " + gruppe.Code + " Seter: " + gruppe.Seats.Count); ukjente += gruppe.Seats.Count; } bldr.AppendLine("Sum: " + ukjente); var moro = bldr.ToString(); var kanskjesolgt = res.Count(s => s.EttCode.QualifierBitsHex.StartsWith("5")); Console.WriteLine(moro); }
protected override void ProcessRecord() { base.ProcessRecord(); var reader = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(_filename); var seats = reader.ReadSeats(file).ToList(); WriteVerbose("Antall seter: " + seats.Count); try { WriteObject(seats.Select(s => new Seat(s)), true); } catch (PipelineStoppedException e) { WriteWarning("Caught exception: " + e.Message); } }
public void ReadSeats_WhenGivenActualBSFile_ReturnsCorrectSeatInfo() { // Arrange var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\Test.xml"); // Act var res = sut.ReadSeats(file).ToList(); // Assert res.Count.Should().Be(21645, "that is the number of seats in the file"); // Stikkprøver var remTaRow24 = res.Where(s => s.SectionName == "REM-TA" && s.RowName == "24").ToList(); remTaRow24.Count.Should().Be(22, "there should be 22 seats in this row"); remTaRow24[0].EttCode.Code.Should().Be("000004CD0001", "that is the code on the first seat in the XML file"); remTaRow24[7].EttCode.Code.Should().Be("000000000000", "that is the code on the eight seat in the XML file"); }
public void Query_Tribune_Oversikt() { // Arrange var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"D:\temp\staut\testdata\438527_VÃ¥lerenga_2015-08-15T14-03.xml"); //var summary = new CountSummary().CreateCountSummary(file); var res = sut.ReadSeats(file).ToList(); var stats = res.Where(s => s.Position.Contains("KJ")) //|| s.Position.Contains("RB")) .Select(s => SeatStatusClassifier.Classify(s.EttCode)) .GroupBy(s => s) .Select(g => new { Status = g.Key, Count = g.Count() }) .ToList(); // Act Console.WriteLine("Res: ", stats.Count); // Assert }
public string CreateCountSummary(BillettServiceXmlFile ticketFile) { var stats = new SummaryGenerator().CreateSummary(ticketFile); var builder = new StringBuilder(); var sum = 0; var tilskuere = 0; foreach (var kvp in stats) { builder.AppendLine(kvp.Key.ToString().PadRight(30) + kvp.Value.ToString().PadLeft(5)); sum += kvp.Value; if (kvp.Key == SeatStatus.Sold || kvp.Key == SeatStatus.SeasonTicket) { tilskuere += kvp.Value; } } builder.AppendLine("-----------------------------------"); builder.AppendLine("Tilskuere " + tilskuere.ToString().PadLeft(5)); builder.AppendLine("Totale seter " + sum.ToString().PadLeft(5)); return(builder.ToString()); }
public void ukjente_sesongkort_locator() { var sut = new BillettServiceSeteLeser(); var file = BillettServiceXmlFile.LoadFile(@"..\..\TestData\RBK-TIL-250515-1409.xml"); var res = sut.ReadSeats(file).ToList(); var ukjenteKoder = res.Where(s => s.EttCode.QualifierBitsHex.StartsWith("4") && !SeatStatusClassifier.IsKnownSeasonTicketCode(s.EttCode)) .GroupBy(s => s.EttCode.Code) .Select(s => new { Code = s.Key, Seats = s.ToList() }) .OrderByDescending(g => g.Seats.Count) .ToList(); var bldr = new StringBuilder(); var ukjente = 0; foreach (var gruppe in ukjenteKoder) { bldr.AppendLine("Code: " + gruppe.Code + " Seter: " + gruppe.Seats.Count); ukjente += gruppe.Seats.Count; } bldr.AppendLine("Sum: " + ukjente); var moro = bldr.ToString(); }