Skip to content

Commit

Permalink
Rob/Jon/Ross - introduce functional test task for gradle
Browse files Browse the repository at this point in the history
  • Loading branch information
RossHaganTWB committed Sep 7, 2017
1 parent ffe8410 commit e8344dc
Show file tree
Hide file tree
Showing 5 changed files with 170 additions and 7 deletions.
144 changes: 140 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,141 @@
build/
.gradle/
.idea/
# Created by https://www.gitignore.io/api/osx,macos,gradle,windows,intellij

### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
.idea
*.iml
out/

# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries

# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml

# Gradle:
.idea/**/gradle.xml
.idea/**/libraries

# CMake
cmake-build-debug/

# Mongo Explorer plugin:
.idea/**/mongoSettings.xml

## File-based project format:
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721

# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr

# Sonarlint plugin
.idea/sonarlint

### macOS ###
*.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### OSX ###

# Icon must end with two \r

# Thumbnails

# Files that might appear in the root of a volume

# Directories potentially created on remote AFP share

### Windows ###
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

### Gradle ###
.gradle
/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Cache of project
.gradletasknamecache

# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties

# End of https://www.gitignore.io/api/osx,macos,gradle,windows,intellij
File renamed without changes.
29 changes: 28 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,33 @@ repositories {
task wrapper(type: Wrapper) {
gradleVersion = '4.1'
}

sourceSets {
functionalTest {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/functional-test/java')
}
resources.srcDir file('src/functional-test/resources')
}
}

configurations {
functionalTestCompile.extendsFrom testCompile
functionalTestRuntime.extendsFrom testRuntime
}

task functionalTest(type: Test) {
testClassesDir = sourceSets.functionalTest.output.classesDir
classpath = sourceSets.functionalTest.runtimeClasspath
outputs.upToDateWhen { false }
}

tasks.withType(Test) {
reports.html.destination = file("${reporting.baseDir}/${name}")
}

dependencies {
compile 'com.google.guava:guava:23.0',
'org.springframework.boot:spring-boot-starter-web:2.0.0.M3',
Expand All @@ -27,5 +54,5 @@ dependencies {
}

// Define the main class for the application
mainClassName = 'App'
mainClassName = 'uk.tw.energy.App'

Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ public void setUp() {
public void shouldCalculateCostForMeterReadingsForEveryTariff() {

Map<String, BigDecimal> tariffToCost = new HashMap<>();
tariffToCost.put(tariffName, BigDecimal.valueOf(100));
tariffToCost.put(otherTariffName, BigDecimal.valueOf(10));
tariffToCost.put(tariffName, BigDecimal.valueOf(100.0));
tariffToCost.put(otherTariffName, BigDecimal.valueOf(10.0));

String meterId = "meter-id";
ElectricityReading electricityReading = new ElectricityReading(Instant.now().minusSeconds(3600), BigDecimal.valueOf(15.0));
Expand Down

0 comments on commit e8344dc

Please sign in to comment.