test_class.declarator: SERVICE_ID = new ServiceId("SERVICE_ID")
test_class.modifier: private static final
test_class.original_string: private static final ServiceId SERVICE_ID = new ServiceId("SERVICE_ID");
test_class.type: ServiceId
test_class.var_name: SERVICE_ID
test_class.declarator: VALID_DAYS = EnumSet.of(DayOfWeek.SUNDAY, DayOfWeek.MONDAY,
  			DayOfWeek.TUESDAY)
test_class.modifier: private static final
test_class.original_string: private static final EnumSet<DayOfWeek> VALID_DAYS = EnumSet.of(DayOfWeek.SUNDAY, DayOfWeek.MONDAY,
  			DayOfWeek.TUESDAY);
test_class.type: EnumSet<DayOfWeek>
test_class.var_name: VALID_DAYS
test_class.declarator: START_DATE = LocalDate.of(2017, 1, 1)
test_class.modifier: private static final
test_class.original_string: private static final LocalDate START_DATE = LocalDate.of(2017, 1, 1);
test_class.type: LocalDate
test_class.var_name: START_DATE
test_class.declarator: END_DATE = LocalDate.of(2018, 1, 1)
test_class.modifier: private static final
test_class.original_string: private static final LocalDate END_DATE = LocalDate.of(2018, 1, 1);
test_class.type: LocalDate
test_class.var_name: END_DATE
test_class.declarator: baseCalendar
test_class.original_string: BaseCalendar baseCalendar;
test_class.type: BaseCalendar
test_class.var_name: baseCalendar
test_class.file: siri/gtfs_reader/src/test/java/il/org/hasadna/siri_client/gtfs/crud/BaseCalendarTest.java
test_class.identifier: BaseCalendarTest
test_case.body: @Test
  	public void testParse() {
  		BaseCalendar actual = BaseCalendar.parse("59923056,0,0,0,0,0,1,0,20180608,20180613");
  		assertEquals(new ServiceId("59923056"), actual.getServiceId());
  		assertEquals(EnumSet.of(DayOfWeek.FRIDAY), actual.getValidDays());
  		assertEquals(LocalDate.of(2018, 6, 8), actual.getStartDate());
  		assertEquals(LocalDate.of(2018, 6, 13), actual.getEndDate());
  	}
test_case.class_method_signature: BaseCalendarTest.testParse()
test_case.full_signature: @Test public void testParse()
test_case.identifier: testParse
test_case.invocations: parse assertEquals getServiceId assertEquals of getValidDays assertEquals of getStartDate assertEquals of getEndDate
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParse()
focal_class.declarator: serviceId
focal_class.modifier: private
focal_class.original_string: private ServiceId serviceId;
focal_class.type: ServiceId
focal_class.var_name: serviceId
focal_class.declarator: validDays
focal_class.modifier: private
focal_class.original_string: private EnumSet<DayOfWeek> validDays;
focal_class.type: EnumSet<DayOfWeek>
focal_class.var_name: validDays
focal_class.declarator: startDate
focal_class.modifier: private
focal_class.original_string: private LocalDate startDate;
focal_class.type: LocalDate
focal_class.var_name: startDate
focal_class.declarator: endDate
focal_class.modifier: private
focal_class.original_string: private LocalDate endDate;
focal_class.type: LocalDate
focal_class.var_name: endDate
focal_class.declarator: dateFormat = DateTimeFormatter.ofPattern("yyyyMMdd")
focal_class.modifier: static
focal_class.original_string: static DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyyMMdd");
focal_class.type: DateTimeFormatter
focal_class.var_name: dateFormat
focal_class.file: siri/gtfs_reader/src/main/java/il/org/hasadna/siri_client/gtfs/crud/BaseCalendar.java
focal_class.identifier: BaseCalendar
focal_class.interfaces: implements Calendar
focal_class.class_method_signature: BaseCalendar.parse(String csvRow)
focal_class.full_signature: public static BaseCalendar parse(String csvRow)
focal_class.identifier: parse
focal_class.modifiers: public static
focal_class.parameters: (String csvRow)
focal_class.return: BaseCalendar
focal_class.signature: BaseCalendar parse(String csvRow)
focal_class.class_method_signature: BaseCalendar.BaseCalendar(ServiceId serviceId, EnumSet<DayOfWeek> validDays, LocalDate startDate, LocalDate endDate)
focal_class.full_signature: public  BaseCalendar(ServiceId serviceId, EnumSet<DayOfWeek> validDays, LocalDate startDate, LocalDate endDate)
focal_class.identifier: BaseCalendar
focal_class.modifiers: public
focal_class.parameters: (ServiceId serviceId, EnumSet<DayOfWeek> validDays, LocalDate startDate, LocalDate endDate)
focal_class.signature:  BaseCalendar(ServiceId serviceId, EnumSet<DayOfWeek> validDays, LocalDate startDate, LocalDate endDate)
focal_class.class_method_signature: BaseCalendar.getServiceId()
focal_class.full_signature: @Override public ServiceId getServiceId()
focal_class.identifier: getServiceId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ServiceId
focal_class.signature: ServiceId getServiceId()
focal_class.class_method_signature: BaseCalendar.getValidDays()
focal_class.full_signature: @Override public EnumSet<DayOfWeek> getValidDays()
focal_class.identifier: getValidDays
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: EnumSet<DayOfWeek>
focal_class.signature: EnumSet<DayOfWeek> getValidDays()
focal_class.class_method_signature: BaseCalendar.isDayValid(DayOfWeek day)
focal_class.full_signature: @Override public boolean isDayValid(DayOfWeek day)
focal_class.identifier: isDayValid
focal_class.modifiers: @Override public
focal_class.parameters: (DayOfWeek day)
focal_class.return: boolean
focal_class.signature: boolean isDayValid(DayOfWeek day)
focal_class.class_method_signature: BaseCalendar.getStartDate()
focal_class.full_signature: @Override public LocalDate getStartDate()
focal_class.identifier: getStartDate
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: LocalDate
focal_class.signature: LocalDate getStartDate()
focal_class.class_method_signature: BaseCalendar.getEndDate()
focal_class.full_signature: @Override public LocalDate getEndDate()
focal_class.identifier: getEndDate
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: LocalDate
focal_class.signature: LocalDate getEndDate()
focal_class.class_method_signature: BaseCalendar.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public static BaseCalendar parse(String csvRow) {
  
  		List<String> fields = Arrays.asList(csvRow.split(",", -1));
  
  		if (fields.size() != 10) {
  			throw new IllegalArgumentException("Calendar CSV row Should contains 10 fields");
  		}
  
  		Iterator<String> fieldsIter = fields.iterator();
  
  		ServiceId serviceId = new ServiceId(fieldsIter.next());
  		EnumSet<DayOfWeek> validDays = EnumSet.noneOf(DayOfWeek.class);
  		for (DayOfWeek day : Arrays.asList(DayOfWeek.SUNDAY, DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY,
  				DayOfWeek.THURSDAY, DayOfWeek.FRIDAY, DayOfWeek.SATURDAY)) {
  			if (fieldsIter.next()
  					.equals("1")) {
  				validDays.add(day);
  			}
  		}
  
  		LocalDate startDate = LocalDate.parse(fieldsIter.next(), dateFormat);
  		LocalDate endDate = LocalDate.parse(fieldsIter.next(), dateFormat);
  		return new BaseCalendar(serviceId, validDays, startDate, endDate);
  	}
focal_method.class_method_signature: BaseCalendar.parse(String csvRow)
focal_method.full_signature: public static BaseCalendar parse(String csvRow)
focal_method.identifier: parse
focal_method.invocations: asList split size iterator next noneOf asList equals next add parse next parse next
focal_method.modifiers: public static
focal_method.parameters: (String csvRow)
focal_method.return: BaseCalendar
focal_method.signature: BaseCalendar parse(String csvRow)