mifriis / edge-of-kuiper

Textbased space rpg somewhat based on real science
Other
7 stars 3 forks source link

Solar system render refactor #45

Closed mifriis closed 2 years ago

mifriis commented 2 years ago

refactored a bit now that i have slept on it. There's a lot of logic code that can be moved into a srevice too

github-actions[bot] commented 2 years ago

Test- and Coverage-report - PR #45

Run Summary

Overall Result: ✔️ Pass
Pass Rate: 100%
Run Duration: 2s 595ms
Date: 2022-09-12 06:24:05 - 2022-09-12 06:24:07
Framework: .NETCoreApp,Version=v6.0
Total Tests: 91

✔️ Passed ❌ Failed ⚠️ Skipped
91 0 0
100% 0% 0%

Result Sets

kuiper-tests.dll - 100%

Full Results
Result Test Duration
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.SetCorrectName 11ms
✔️ Passed Kuiper.Tests.Unit.Domain.AsteroidShould.Create 13ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.SetCorrectOrbitRadius < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.SetCorrectOrbitRadius < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.ReturnItsPositionInSpaceAtAGivenTime 10ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.CreateStarBodyTypeFromJson 2ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.SetCorrectOrbitVelocity < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.CreatePlanetBodyTypeFromJson < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.SetCorrectOriginDegrees < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.CreateMoonBodyTypeFromJson < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.NotFailIfJsonFileExist < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.AddBodyAsSatelliteIfItHasAParent 4ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.CreateAMoon < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.CreateBodyWithOriginDegrees < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.CreateDwarfPlanetBodyTypeFromJson 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.DontAddBodyAsSatelliteIfItsAnAsteroid < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.CreateGasGiantBodyTypeFromJson < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.ReturnItsInitialPositionInSpace < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.CreateBodyWithVelocity < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.CreateAGasGiant < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.SetCorrectOrbitVelocity < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.CreateAStar < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.FailIfJsonFileDoesNotExist < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.CreateADwarfPlanet < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.SetCorrectName < 1ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.CreateAPlanet < 1ms
✔️ Passed Kuiper.Tests.Unit.Repositories.JsonFileSolarSystemRepositoryShould.CreateCorrectAmountOfBodiesFromJson 2ms
✔️ Passed Kuiper.Tests.Unit.Domain.CelestialBodyShould.SetCorrectOriginDegrees 2ms
✔️ Passed Kuiper.Tests.Unit.Services.ScanForAsteroidsEventShould.ExecuteTheRightServices 161ms
✔️ Passed Kuiper.Tests.Unit.Services.EventServiceShould.ExecuteAllEventsThatHappenedBeforeNow 162ms
✔️ Passed Kuiper.Tests.Unit.Services.EventServiceShould.AddEventToEventList < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.EventServiceShould.RemoveEventFromEventList < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.CalculateAccelerationGsCorrectly 4ms
✔️ Passed Kuiper.Tests.Unit.Services.AccountShould.WithdrawSucessfully 3ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.CalculateMassBasedOnModules < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.AccountShould.TransactionsHaveHumanOutput 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.DeductFuelBasedOnSpentDVCorrectly 1ms
✔️ Passed Kuiper.Tests.Unit.Services.AccountShould.KeepTransactionOfAcitvities < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.AccountShould.DepositSucessfully < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.CalculateDeltaVelocityCorrectly < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.EmptyTheTankOnFullDeltaVSpent < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.ReturnSpentFuel < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.CalculateAccelerationCorrectly < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.RefuelWithoutOverFilling < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.NotPossibleToForceSpendingMoreFuelThanAvailiable < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipShould.RefuelWithoutFillingTheTank < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.CaptainServiceShould.SaveSuccessfully 19ms
✔️ Passed Kuiper.Tests.Unit.Systems.ConsoleCommandParseShould.ParseAndExecute_WithNullGroupedCommand_ParsesWithNameAsGroup 13ms
✔️ Passed Kuiper.Tests.Unit.Systems.ConsoleCommandParseShould.ParseAndExecute_WithArgs_ExecutesWithArgs < 1ms
✔️ Passed Kuiper.Tests.Unit.Systems.ConsoleCommandParseShould.ParseAndExecute_WithoutArgs_ExecutesWithNullArgs < 1ms
✔️ Passed Kuiper.Tests.Unit.Systems.ConsoleCommandParseShould.Parse_WithoutArgs_ParsesWithNullArgs < 1ms
✔️ Passed Kuiper.Tests.Unit.Systems.ConsoleCommandParseShould.Parse_WithNullGroupedCommand_ParsesWithNameAsGroup < 1ms
✔️ Passed Kuiper.Tests.Unit.Systems.ConsoleCommandParseShould.Parse_WithArgs_ParsesWithArgs < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.DoNothingWhenTheDestinationIsFubar 3ms
✔️ Passed Kuiper.Tests.Unit.Services.CaptainServiceShould.LoadCaptainWhenSavesFound 16ms
✔️ Passed Kuiper.Tests.Unit.Services.CaptainServiceShould.SetupANewCaptainIfNoSavesFound 1ms
✔️ Passed Kuiper.Tests.Unit.Services.CaptainServiceShould.ReturnCaptainIfAlreadySetup 1ms
✔️ Passed Kuiper.Tests.Unit.Services.CaptainServiceShould.ThrowIfCaptainIsNotSet < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.UpdateShipStatusWhenDestinationValid 9ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnBodyBasedOnName 3ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.ShowDestinationsWhenCurrentLocationIsAsteroid 4ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnCorrectKmDistanceBetweenBodies 2ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ExceptionThrownIfAttemptToCreateSameNameBody < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.UpdateShipStatusWhenDestinationReached < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.RemoveABodyThatDoesntExistToTheSolarSystemSuccessfully < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.ReturnMergedListOfPlanetMoonsAndAsteroid 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnSattelitesAroundABody 2ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnCorrectAuDistanceBetweenBodies < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.CanRemoveABodyWithSatellitesFromTheSolarSystemSuccessfully < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.RemoveAnAsteroidFromTheSolarSystemSuccessfully 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.AddAnAsteroidToTheSolarSystemSuccessfully < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnCorrectKmDistanceBetweenAMoonAndADifferentBody < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.CanAddABodyWithSatellitesFromTheSolarSystemSuccessfully 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.AddABodyToTheSolarSystemSuccessfully < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnAllBodiesUnderAStar < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.UpdateShipStatusWhenDestinationIsAsteroid 6ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.RemoveABodyToTheSolarSystemSuccessfully < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnAsteroidBasedOnName < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.SolarSystemServiceShould.ReturnCorrectAuDistanceBetweenABodyAndAsteroidCorrectly < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.AccountServiceShould.ReturnTransactionalAcitivitesFromAnAccount 1ms
✔️ Passed Kuiper.Tests.Unit.Services.AccountServiceShould.WithdrawFromAnAccount < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.CalculatedVToTarget 3ms
✔️ Passed Kuiper.Tests.Unit.Services.AccountServiceShould.DepositInAnAccount 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipEngineShould.CalculateThrustToWeightRationCorrectly < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipEngineShould.CalculateExhaustVelocityCorretly < 1ms
✔️ Passed Kuiper.Tests.Unit.Systems.GameTimeServiceShould.ThrowExceptionIfRealStartTimeNeverSet < 1ms
✔️ Passed Kuiper.Tests.Unit.Systems.GameTimeServiceShould.ReturnGameStartDate < 1ms
✔️ Passed Kuiper.Tests.Unit.Systems.GameTimeServiceShould.ReturnGamDateInNextWeekWhenStartingRealYesterday < 1ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.DoNothingWhenTheDestinationIsNotReachable 4ms
✔️ Passed Kuiper.Tests.Unit.Services.SetCourseEventShould.ExecuteTheRightServices 3ms
✔️ Passed Kuiper.Tests.Unit.Services.ShipServiceShould.CalculateTimeToTarget 3ms

Run Messages

Informational

[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.4.3+1b45f5407b (64-bit .NET 6.0.8)
[xUnit.net 00:00:00.64]   Discovering: kuiper-tests
[xUnit.net 00:00:00.69]   Discovered:  kuiper-tests
[xUnit.net 00:00:00.70]   Starting:    kuiper-tests
[xUnit.net 00:00:01.08]   Finished:    kuiper-tests
Warning

Error


Created using Liquid Test Reports

Code Coverage

# Summary
Generated on: 09/12/2022 - 06:24:08
Parser: CoberturaParser
Assemblies: 1
Classes: 25
Files: 25
Covered lines: 552
Uncovered lines: 141
Coverable lines: 693
Total lines: 1318
Line coverage: 79.6% (552 of 693)
Covered branches: 65
Total branches: 80
Branch coverage: 81.2% (65 of 80)
Covered methods: 125
Total methods: 148
Method coverage: 84.4% (125 of 148)
Name Covered Uncovered Coverable Total Line coverage Covered Total Branch coverage Covered Total Method coverage
kuiper-game 552 141 693 1318 79.6% 65 80 81.2% 125 148 84.4%
Kuiper.Domain.Account 21 0 21 44 100% 0 0 5 5 100%
Kuiper.Domain.Captain 16 0 16 30 100% 0 0 7 7 100%
Kuiper.Domain.CelestialBodies.CelestialBody 52 0 52 89 100% 8 8 100% 13 13 100%
Kuiper.Domain.Mining.Asteroid 20 0 20 32 100% 0 0 5 5 100%
Kuiper.Domain.Physics 1 0 1 8 100% 0 0 1 1 100%
Kuiper.Domain.SaveFile 5 0 5 17 100% 0 0 5 5 100%
Kuiper.Domain.Ship.FuelTank 14 0 14 38 100% 0 0 5 5 100%
Kuiper.Domain.Ship.Ship 57 0 57 101 100% 6 6 100% 16 16 100%
Kuiper.Domain.Ship.ShipEngine 18 1 19 35 94.7% 0 0 6 7 85.7%
Kuiper.Domain.ShipStatusExtensions 0 6 6 24 0% 0 4 0% 0 1 0%
Kuiper.Domain.Transaction 12 0 12 22 100% 0 0 5 5 100%
Kuiper.Repositories.JsonFileSolarSystemRepository 25 14 39 72 64.1% 6 8 75% 3 6 50%
Kuiper.Services.AccountService 14 0 14 34 100% 0 0 5 5 100%
Kuiper.Services.CaptainService 63 3 66 105 95.4% 6 6 100% 5 6 83.3%
Kuiper.Services.EventService 36 0 36 58 100% 12 12 100% 5 5 100%
Kuiper.Services.GameTimeService 16 0 16 44 100% 2 2 100% 5 5 100%
Kuiper.Services.MiningService 0 15 15 34 0% 0 0 0 3 0%
Kuiper.Services.ShipService 54 19 73 146 73.9% 6 8 75% 7 10 70%
Kuiper.Services.SolarSystemService 65 8 73 126 89% 10 12 83.3% 14 15 93.3%
Kuiper.Systems.CaptainsConsole 0 37 37 65 0% 0 2 0% 0 3 0%
Kuiper.Systems.CommandInfrastructure.ConsoleCommandParser 28 12 40 69 70% 9 12 75% 3 5 60%
Kuiper.Systems.ConsoleWriter 12 17 29 50 41.3% 0 0 3 5 60%
Kuiper.Systems.Events.ScanForAsteroidsEvent 13 0 13 30 100% 0 0 3 3 100%
Kuiper.Systems.Events.SetCourseEvent 10 0 10 24 100% 0 0 4 4 100%
Kuiper.Systems.Mining.SCanForAsteroidsCommand 0 9 9 21 0% 0 0 0 3 0%