Skip to content
Open
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
83 changes: 83 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<<<<<<< HEAD
# Android Studio
*.iml
.gradle
/local.properties
/.idea
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
=======
# Gradle
.gradle/
build/
out/

# IntelliJ IDEA
.idea/
*.iml
*.ipr
*.iws
>>>>>>> pr-2-CryptoSCK-kotlinTodoApp

# Kotlin
*.class
*.log

<<<<<<< HEAD
# Dependency directories
/node_modules
/kotlin-js-store
=======
# macOS
.DS_Store

# Logs
logs/
*.log

# Environment
.env
>>>>>>> pr-2-CryptoSCK-kotlinTodoApp

# Compiled class files
*.class

<<<<<<< HEAD
# Log files
*.log

# Virtual machine crash logs
hs_err_pid*

# Build output
/out
/target
/bin

# Gradle
.gradle
build/
gradle-app.setting
!gradle-wrapper.jar
.gradletasknamecache

# Kotlin-specific
kotlin-js-store/

# Environment and sensitive files
.env
*.properties
local.properties

# Temporary files
*.tmp
*.bak
*~
=======
# Dependency directories
node_modules/
vendor/
>>>>>>> pr-2-CryptoSCK-kotlinTodoApp
33 changes: 32 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,32 @@
Hello
# Todo App - Kotlin Test Suite

## Testing Approach

This project uses a custom test runner script (`test_runner.kts`) to validate the Todo model's functionality.

### Test Coverage

The test script covers the following scenarios:
- Creating a todo with minimal data
- Creating a todo with all optional properties
- Toggling todo completion status
- Validating title constraints
- Non-empty title
- Maximum title length (100 characters)
- Validating description constraints
- Optional description
- Maximum description length (500 characters)
- Validating due date constraints
- Due date must be in the future

### Running Tests

To run tests, execute the `test_runner.kts` script:

```bash
kotlinc -script test_runner.kts
```

### Note

This approach provides a lightweight, script-based testing mechanism that can be easily integrated into CI/CD pipelines.
21 changes: 21 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
plugins {
kotlin("jvm") version "1.8.0"
}

repositories {
mavenCentral()
}

dependencies {
// Kotlin standard library
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")

// Testing dependencies
testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.1")
testImplementation("org.jetbrains.kotlin:kotlin-test:1.8.0")
}

tasks.test {
useJUnitPlatform()
}
Loading