Added plany uml class diagram and modified some tests
This commit is contained in:
@@ -16,12 +16,12 @@ public class Tests
|
|||||||
[Test]
|
[Test]
|
||||||
public async Task TestAddingCritter()
|
public async Task TestAddingCritter()
|
||||||
{
|
{
|
||||||
Assert.That(await DatabaseService.AddCritter(new Critter(){Name = "Test Critter"}), Is.True);
|
Assert.That(await DatabaseService.AddCritter(new Critter{Name = "Test Critter"}), Is.True);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public async Task TestGettingCritter()
|
public async Task TestGettingCritterThatDoesntExist()
|
||||||
{
|
{
|
||||||
Assert.That(await DatabaseService.GetCritter(-1), Is.True);
|
Assert.That(await DatabaseService.GetCritter(-1), Is.False);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
74
critterfolio/class-diagram.puml
Normal file
74
critterfolio/class-diagram.puml
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
@startuml
|
||||||
|
!theme crt-green
|
||||||
|
skinparam classAttributeIconSize 0
|
||||||
|
skinparam monochrome true
|
||||||
|
skinparam shadowing false
|
||||||
|
|
||||||
|
package "CritterFolio.DataModels" {
|
||||||
|
|
||||||
|
enum Gender {
|
||||||
|
Male
|
||||||
|
Female
|
||||||
|
}
|
||||||
|
|
||||||
|
class Critter {
|
||||||
|
+ Id : int
|
||||||
|
+ ProfileImagePath : string
|
||||||
|
+ Name : string
|
||||||
|
+ Gender : Gender
|
||||||
|
+ DateOfBirth : DateTime
|
||||||
|
+ FatherId : int
|
||||||
|
+ MotherId : int
|
||||||
|
+ Notes : string
|
||||||
|
}
|
||||||
|
|
||||||
|
class CritterEvent {
|
||||||
|
+ Id : int
|
||||||
|
+ CritterId : int
|
||||||
|
+ Name : string
|
||||||
|
+ DateTime : DateTime
|
||||||
|
+ Description : string
|
||||||
|
}
|
||||||
|
|
||||||
|
class Document {
|
||||||
|
+ Id : int
|
||||||
|
+ CritterId : int
|
||||||
|
+ Name : string
|
||||||
|
+ Path : string
|
||||||
|
+ Description : string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
package "CritterFolio.Services" {
|
||||||
|
class DatabaseService <<static>> {
|
||||||
|
- {static} _db : SQLiteAsyncConnection
|
||||||
|
+ {static} Init() : Task
|
||||||
|
+ {static} ClearAllTables() : Task
|
||||||
|
.. Critter Operations ..
|
||||||
|
+ {static} AddCritter(critter : Critter) : Task<bool>
|
||||||
|
+ {static} UpdateCritter(critter : Critter) : Task<bool>
|
||||||
|
+ {static} DeleteCritter(critter : Critter) : Task<bool>
|
||||||
|
+ {static} GetAllCritters() : Task<List<Critter>>
|
||||||
|
+ {static} GetCritter(id : int) : Task<Critter>
|
||||||
|
.. Document Operations ..
|
||||||
|
+ {static} AddDocument(doc : Document) : Task<bool>
|
||||||
|
+ {static} GetAllDocumentsForCritter(id : int) : Task<List<Document>>
|
||||||
|
.. Event Operations ..
|
||||||
|
+ {static} AddEvent(ev : CritterEvent) : Task<bool>
|
||||||
|
+ {static} GetAllEventsForCritter(id : int) : Task<List<CritterEvent>>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
' Relationships
|
||||||
|
Critter "1" *-- "0..*" CritterEvent : has >
|
||||||
|
Critter "1" *-- "0..*" Document : has >
|
||||||
|
Critter --> Gender : uses
|
||||||
|
|
||||||
|
' Self-references for lineage
|
||||||
|
Critter --> Critter : FatherId / MotherId
|
||||||
|
|
||||||
|
' Service usage
|
||||||
|
DatabaseService ..> Critter : manages
|
||||||
|
DatabaseService ..> CritterEvent : manages
|
||||||
|
DatabaseService ..> Document : manages
|
||||||
|
@enduml
|
||||||
Reference in New Issue
Block a user