Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[테스트] MovingStatusViewModelTests 작성 #335

Merged
merged 17 commits into from
Dec 2, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 88 additions & 6 deletions BBus/BBus.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,45 @@
87038A90273C11630078EAE3 /* GetStationsByRouteListFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A8F273C11630078EAE3 /* GetStationsByRouteListFetcher.swift */; };
87038A92273C12320078EAE3 /* GetBusPosByRtidFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A91273C12320078EAE3 /* GetBusPosByRtidFetcher.swift */; };
87038A94273C12E20078EAE3 /* GetStationByUidItemFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A93273C12E20078EAE3 /* GetStationByUidItemFetcher.swift */; };
87075FFD27569066005A1E37 /* MovingStatusViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ACA522E272FCEDF00EC0531 /* MovingStatusViewModel.swift */; };
87075FFE275690E0005A1E37 /* MovingStatusAPIUsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04468438275677C0007E440A /* MovingStatusAPIUsable.swift */; };
87075FFF2756914E005A1E37 /* BusRouteDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049375AA273B9F330061ACDA /* BusRouteDTO.swift */; };
8707600027569158005A1E37 /* StationByRouteListDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049375B4273BB98E0061ACDA /* StationByRouteListDTO.swift */; };
8707600127569160005A1E37 /* BusPosByRtidDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049375B6273BE08F0061ACDA /* BusPosByRtidDTO.swift */; };
8707600227569254005A1E37 /* MovingStatusCalculatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0446843A275677CA007E440A /* MovingStatusCalculatable.swift */; };
8707600327569254005A1E37 /* MovingStatusCalculateUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87B35D092754E71F00159791 /* MovingStatusCalculateUseCase.swift */; };
8707600527569303005A1E37 /* AverageSectionTimeCalculatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 875F1AAF2755BD86003F5BB1 /* AverageSectionTimeCalculatable.swift */; };
8707600627569309005A1E37 /* BaseUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5100322754CDB100754B36 /* BaseUseCase.swift */; };
8707600727569319005A1E37 /* NotificationNameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A06AEE82743DAB20027222D /* NotificationNameExtension.swift */; };
8707600827569324005A1E37 /* JsonDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0446843C275679B9007E440A /* JsonDTO.swift */; };
870760092756932E005A1E37 /* PublisherExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A38E20827464015003A9D10 /* PublisherExtension.swift */; };
8707600A27569337005A1E37 /* BBusAPIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A38E20627463FF7003A9D10 /* BBusAPIError.swift */; };
87115EFA27564D0F00601770 /* RequestFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182A527550988001EA530 /* RequestFactory.swift */; };
87115EFB27565A3300601770 /* BusRouteViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ACA520A272FCE5F00EC0531 /* BusRouteViewModel.swift */; };
87115EFC27565BAD00601770 /* BusRouteAPIUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ACA5208272FCE5A00EC0531 /* BusRouteAPIUseCase.swift */; };
87115EFD27565D9D00601770 /* BusRouteDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049375AA273B9F330061ACDA /* BusRouteDTO.swift */; };
87115EFE27565DAE00601770 /* StationByRouteListDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049375B4273BB98E0061ACDA /* StationByRouteListDTO.swift */; };
87115EFF27565DC200601770 /* BusPosByRtidDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049375B6273BE08F0061ACDA /* BusPosByRtidDTO.swift */; };
87115F00275667A600601770 /* BaseUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5100322754CDB100754B36 /* BaseUseCase.swift */; };
87115F01275668E100601770 /* BusCongestion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ACA5212272FCE8500EC0531 /* BusCongestion.swift */; };
87115F02275668F600601770 /* NotificationNameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A06AEE82743DAB20027222D /* NotificationNameExtension.swift */; };
87115F032756693700601770 /* BusPosByVehicleIdDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ADB29BA274B6C8300554A4E /* BusPosByVehicleIdDTO.swift */; };
87115F042756694600601770 /* PublisherExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A38E20827464015003A9D10 /* PublisherExtension.swift */; };
87115F052756696F00601770 /* GetRouteListUsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182B627551ED8001EA530 /* GetRouteListUsable.swift */; };
87115F062756698D00601770 /* BBusAPIUseCases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A81273B90A50078EAE3 /* BBusAPIUseCases.swift */; };
87115F0727566A4400601770 /* GetStationsByRouteListUsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182B027551E84001EA530 /* GetStationsByRouteListUsable.swift */; };
87115F0827566A5200601770 /* TokenManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182A32754E3CA001EA530 /* TokenManager.swift */; };
87115F0927566A5900601770 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A89273B96B60078EAE3 /* NetworkService.swift */; };
87115F0A27566A6200601770 /* PersistenceStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A8B273B96DF0078EAE3 /* PersistenceStorage.swift */; };
87115F0B27566A6900601770 /* RequestFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182A527550988001EA530 /* RequestFactory.swift */; };
87115F0C27566A7000601770 /* GetStationsByRouteListFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A8F273C11630078EAE3 /* GetStationsByRouteListFetcher.swift */; };
87115F0D27566A7800601770 /* ServiceFetchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182A7275511D5001EA530 /* ServiceFetchable.swift */; };
87115F0E27566A8000601770 /* GetBusPosByRtidUsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182B227551EA9001EA530 /* GetBusPosByRtidUsable.swift */; };
87115F0F27566A8E00601770 /* GetBusPosByRtidFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87038A91273C12320078EAE3 /* GetBusPosByRtidFetcher.swift */; };
87115F1027566A9800601770 /* GetRouteListFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AA294AE273C0E8D008E5497 /* GetRouteListFetcher.swift */; };
87115F1127566A9F00601770 /* BBusAPIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A38E20627463FF7003A9D10 /* BBusAPIError.swift */; };
87115F1227566AA700601770 /* PersistencetFetchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A5182AB275516A4001EA530 /* PersistencetFetchable.swift */; };
87115F1327566AB200601770 /* FavoriteItemDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A06AEC7274159D10027222D /* FavoriteItemDTO.swift */; };
87115F172756758800601770 /* GetArrInfoByRouteListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87115F162756758800601770 /* GetArrInfoByRouteListUseCase.swift */; };
87115F19275675B900601770 /* GetStationsByRouteListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87115F18275675B900601770 /* GetStationsByRouteListUseCase.swift */; };
87115F1B275675E200601770 /* GetBusPosByRtidUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87115F1A275675E200601770 /* GetBusPosByRtidUseCase.swift */; };
Expand All @@ -176,6 +215,8 @@
873D639827303A6800E79069 /* AppCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873D639727303A6800E79069 /* AppCoordinator.swift */; };
873D639A27303B0500E79069 /* HomeCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873D639927303B0500E79069 /* HomeCoordinator.swift */; };
873D639C27303B5000E79069 /* SearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873D639B27303B5000E79069 /* SearchCoordinator.swift */; };
875483782756810400136F16 /* BusRouteAPIUsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0446842E275676B3007E440A /* BusRouteAPIUsable.swift */; };
875483792756810D00136F16 /* JsonDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0446843C275679B9007E440A /* JsonDTO.swift */; };
875F1AB02755BD86003F5BB1 /* AverageSectionTimeCalculatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 875F1AAF2755BD86003F5BB1 /* AverageSectionTimeCalculatable.swift */; };
875F1AB22755BE08003F5BB1 /* AlarmSettingCalculateUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 875F1AB12755BE08003F5BB1 /* AlarmSettingCalculateUseCase.swift */; };
87A5556C2728116400A9B5E3 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87A5556B2728116400A9B5E3 /* AppDelegate.swift */; };
Expand Down Expand Up @@ -1710,6 +1751,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
87115EFA27564D0F00601770 /* RequestFactory.swift in Sources */,
4AF1E08F2756264600DE51C8 /* RequestFactoryTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -1742,7 +1784,34 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
87115F0F27566A8E00601770 /* GetBusPosByRtidFetcher.swift in Sources */,
875483792756810D00136F16 /* JsonDTO.swift in Sources */,
87115F1027566A9800601770 /* GetRouteListFetcher.swift in Sources */,
87115F0B27566A6900601770 /* RequestFactory.swift in Sources */,
87115F042756694600601770 /* PublisherExtension.swift in Sources */,
87115F02275668F600601770 /* NotificationNameExtension.swift in Sources */,
87115F052756696F00601770 /* GetRouteListUsable.swift in Sources */,
87115F1327566AB200601770 /* FavoriteItemDTO.swift in Sources */,
87115F00275667A600601770 /* BaseUseCase.swift in Sources */,
87115F01275668E100601770 /* BusCongestion.swift in Sources */,
87115F062756698D00601770 /* BBusAPIUseCases.swift in Sources */,
87115EFF27565DC200601770 /* BusPosByRtidDTO.swift in Sources */,
87115F0D27566A7800601770 /* ServiceFetchable.swift in Sources */,
87115F0C27566A7000601770 /* GetStationsByRouteListFetcher.swift in Sources */,
87115F0827566A5200601770 /* TokenManager.swift in Sources */,
87115F1227566AA700601770 /* PersistencetFetchable.swift in Sources */,
87115F032756693700601770 /* BusPosByVehicleIdDTO.swift in Sources */,
87115EFE27565DAE00601770 /* StationByRouteListDTO.swift in Sources */,
875483782756810400136F16 /* BusRouteAPIUsable.swift in Sources */,
87115F0927566A5900601770 /* NetworkService.swift in Sources */,
87115EFD27565D9D00601770 /* BusRouteDTO.swift in Sources */,
87115F0727566A4400601770 /* GetStationsByRouteListUsable.swift in Sources */,
87115EFC27565BAD00601770 /* BusRouteAPIUseCase.swift in Sources */,
87115EFB27565A3300601770 /* BusRouteViewModel.swift in Sources */,
87115F0A27566A6200601770 /* PersistenceStorage.swift in Sources */,
87115F1127566A9F00601770 /* BBusAPIError.swift in Sources */,
4AF1E0C32756269F00DE51C8 /* BusRouteViewModelTests.swift in Sources */,
87115F0E27566A8000601770 /* GetBusPosByRtidUsable.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -1758,7 +1827,20 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8707600227569254005A1E37 /* MovingStatusCalculatable.swift in Sources */,
8707600827569324005A1E37 /* JsonDTO.swift in Sources */,
870760092756932E005A1E37 /* PublisherExtension.swift in Sources */,
8707600327569254005A1E37 /* MovingStatusCalculateUseCase.swift in Sources */,
8707600127569160005A1E37 /* BusPosByRtidDTO.swift in Sources */,
8707600027569158005A1E37 /* StationByRouteListDTO.swift in Sources */,
8707600527569303005A1E37 /* AverageSectionTimeCalculatable.swift in Sources */,
87075FFF2756914E005A1E37 /* BusRouteDTO.swift in Sources */,
87075FFE275690E0005A1E37 /* MovingStatusAPIUsable.swift in Sources */,
8707600727569319005A1E37 /* NotificationNameExtension.swift in Sources */,
87075FFD27569066005A1E37 /* MovingStatusViewModel.swift in Sources */,
8707600627569309005A1E37 /* BaseUseCase.swift in Sources */,
4AF1E0DD275626B300DE51C8 /* MovingStatusViewModelTests.swift in Sources */,
8707600A27569337005A1E37 /* BBusAPIError.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -2203,7 +2285,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = B3PWYBKFUK;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand All @@ -2227,7 +2309,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = B3PWYBKFUK;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -2395,7 +2477,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = B3PWYBKFUK;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand All @@ -2419,7 +2501,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = B3PWYBKFUK;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -2491,7 +2573,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = B3PWYBKFUK;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand All @@ -2515,7 +2597,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = B3PWYBKFUK;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ final class MovingStatusCalculateUseCase: MovingStatusCalculatable {
let order = Double(order - startOrd)
let sect = Double((sect as NSString).floatValue)
let fullSect = Double((fullSect as NSString).floatValue)

print(order, sect, fullSect)
return order + (sect/fullSect)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ final class MovingStatusViewModel {
self.bindLoader()
self.bindHeaderInfo()
self.bindStationsInfo()
self.bindBusesPosInfo()
}

private func bindHeaderInfo() {
Expand All @@ -113,6 +112,7 @@ final class MovingStatusViewModel {
})
.sink(receiveValue: { [weak self] stations in
self?.convertBusStations(with: stations)
self?.bindBusesPosInfo()
})
.store(in: &self.cancellables)
}
Expand All @@ -134,11 +134,11 @@ final class MovingStatusViewModel {
currentOrd: currentOrd,
count: count)

// Test 로직
/* Test 용 사용자 gps 조작 코드
guard let y = self.buses.first?.gpsY,
let x = self.buses.first?.gpsX else { return }

self.findBoardBus(gpsY: y, gpsX: x)
self.findBoardBus(gpsY: y, gpsX: x) */
}
.store(in: &self.cancellables)
}
Expand Down
11 changes: 11 additions & 0 deletions BBus/BBus/Global/DTO/BusPosByRtidDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,15 @@ struct BusPosByRtidDTO: Codable {
self.gpsY = Double((try? container.decode(String.self, forKey: .gpsY)) ?? "") ?? 0
self.gpsX = Double((try? container.decode(String.self, forKey: .gpsX)) ?? "") ?? 0
}

init(busType: Int, congestion: Int, plainNumber: String, sectionOrder: Int, fullSectDist: String, sectDist: String, gpsY: Double, gpsX: Double) {
self.busType = busType
self.congestion = congestion
self.plainNumber = plainNumber
self.sectionOrder = sectionOrder
self.fullSectDist = fullSectDist
self.sectDist = sectDist
self.gpsY = gpsY
self.gpsX = gpsX
}
}
11 changes: 11 additions & 0 deletions BBus/BBus/Global/DTO/StationByRouteListDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,15 @@ struct StationByRouteListDTO: Codable {
self.lastTm = (try? container.decode(String.self, forKey: .lastTm)) ?? ""
self.transYn = (try? container.decode(String.self, forKey: .transYn)) ?? ""
}

init(sectionSpeed: Int, sequence: Int, stationName: String, fullSectionDistance: Int, arsId: String, beginTm: String, lastTm: String, transYn: String) {
self.sectionSpeed = sectionSpeed
self.sequence = sequence
self.stationName = stationName
self.fullSectionDistance = fullSectionDistance
self.arsId = arsId
self.beginTm = beginTm
self.lastTm = lastTm
self.transYn = transYn
}
}
Loading