Added plany uml class diagram and modified some tests
This commit is contained in:
@@ -16,12 +16,12 @@ public class Tests
|
||||
[Test]
|
||||
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]
|
||||
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