Kotlin - Diamond complete

This commit is contained in:
Anthony C 2017-07-25 13:41:02 -04:00
parent 74b84a4290
commit e689afed68
14 changed files with 228 additions and 157 deletions

View file

@ -1,2 +1,2 @@
#Sun Jul 23 23:51:11 EDT 2017
gradle.version=3.5-rc-2
#Tue Jul 25 10:54:12 EDT 2017
gradle.version=4.0.1

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

View file

@ -5,8 +5,8 @@
<GradleProjectSettings>
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="G:/Gradle/gradle-4.0.1" />
<option name="gradleJvm" value="1.8" />
<option name="gradleHome" value="C:/Gradle/gradle-4.0.1" />
<option name="gradleJvm" value="Java 1.8" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="Java 1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>

View file

@ -34,12 +34,12 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="diamond_main" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-test-junit:1.1.1" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-test:1.1.1" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.1.1" level="project" />
<orderEntry type="library" name="Gradle: junit:junit:4.12" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-test-junit:1.1.1" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains:annotations:13.0" level="project" />
<orderEntry type="library" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-test:1.1.1" level="project" />
</component>
<component name="TestModuleProperties" production-module="diamond_main" />
</module>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="9a8d58c0-3b05-4264-87e9-ddb2f0e187c5" name="Default" comment="" />
<list default="true" id="6e9558df-3eec-4e80-99b4-2b253950bb01" name="Default" comment="" />
<ignored path="$PROJECT_DIR$/.gradle/" />
<ignored path="$PROJECT_DIR$/build/" />
<ignored path="$PROJECT_DIR$/out/" />
@ -18,12 +18,12 @@
</projectState>
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="450">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="DiamondPrinterTest.kt" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/test/kotlin/DiamondPrinterTest.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="248">
<caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<state relative-caret-position="194">
<caret line="27" column="0" lean-forward="false" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
<folding />
</state>
</provider>
@ -32,8 +32,8 @@
<file leaf-file-name="DiamondPrinter.kt" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/kotlin/DiamondPrinter.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="13" column="41" lean-forward="true" selection-start-line="13" selection-start-column="41" selection-end-line="13" selection-end-column="41" />
<state relative-caret-position="459">
<caret line="27" column="33" lean-forward="false" selection-start-line="27" selection-start-column="33" selection-end-line="27" selection-end-column="33" />
<folding />
</state>
</provider>
@ -54,15 +54,23 @@
</file>
</leaf>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>@ignore\n</find>
</findStrings>
<replaceStrings>
<replace>\t</replace>
</replaceStrings>
</component>
<component name="GradleLocalSettings">
<option name="myGradleHomes">
<map>
<entry key="$PROJECT_DIR$" value="$USER_HOME$/.gradle/wrapper/dists/gradle-3.5-rc-2-bin/7ktl4k9rdug30mawecgppf5ms/gradle-3.5-rc-2" />
<entry key="$PROJECT_DIR$" value="C:\Gradle\gradle-4.0.1" />
</map>
</option>
<option name="myGradleVersions">
<map>
<entry key="$PROJECT_DIR$" value="3.5" />
<entry key="$PROJECT_DIR$" value="4.0.1" />
</map>
</option>
<option name="availableProjects">
@ -250,7 +258,7 @@
</option>
<option name="modificationStamps">
<map>
<entry key="$PROJECT_DIR$" value="1500866124000" />
<entry key="$PROJECT_DIR$" value="1500993742571" />
</map>
</option>
<option name="projectBuildClasspath">
@ -296,6 +304,75 @@
<option name="name" value="diamond" />
<option name="projectBuildClasspath">
<list>
<option value="C:/Gradle/gradle-4.0.1/lib/ant-1.9.6.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/ant-launcher-1.9.6.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-base-services-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-base-services-groovy-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-cli-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-core-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-docs-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-installation-beacon-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-jvm-services-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-launcher-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-logging-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-messaging-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-model-core-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-model-groovy-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-native-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-process-services-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-resources-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-runtime-api-info-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-script-kotlin-0.9.0.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-script-kotlin-compiler-plugin-0.9.0.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-script-kotlin-tooling-builders-0.9.0.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-script-kotlin-tooling-models-0.9.0.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-tooling-api-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/gradle-wrapper-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/groovy-all-2.4.11.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-announce-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-antlr-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-build-cache-http-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-build-comparison-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-build-init-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-code-quality-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-composite-builds-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-dependency-management-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-diagnostics-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-ear-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-ide-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-ide-native-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-ide-play-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-ivy-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-jacoco-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-javascript-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-language-groovy-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-language-java-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-language-jvm-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-language-native-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-language-scala-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-maven-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-osgi-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-platform-base-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-platform-jvm-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-platform-native-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-platform-play-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-plugin-development-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-plugin-use-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-plugins-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-publish-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-reporting-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-resources-http-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-resources-s3-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-resources-sftp-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-scala-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-signing-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-test-kit-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-testing-base-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-testing-jvm-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-testing-native-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-tooling-api-builders-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/gradle-workers-4.0.1.jar" />
<option value="C:/Gradle/gradle-4.0.1/lib/plugins/ivy-2.2.0.jar" />
<option value="$PROJECT_DIR$/buildSrc/src/main/java" />
<option value="$PROJECT_DIR$/buildSrc/src/main/groovy" />
</list>
@ -312,17 +389,12 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/test/kotlin/DiamondPrinterTest.kt" />
<option value="$PROJECT_DIR$/src/main/kotlin/DiamondPrinter.kt" />
</list>
</option>
</component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="ProjectFrameBounds">
<component name="ProjectFrameBounds" extendedState="6">
<option name="width" value="2552" />
<option name="height" value="1390" />
</component>
@ -341,6 +413,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<expand>
@ -348,22 +421,47 @@
<item name="diamond" type="b2602c69:ProjectViewProjectNode" />
<item name="diamond" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
</path>
<path>
<item name="diamond" type="b2602c69:ProjectViewProjectNode" />
<item name="diamond" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="diamond" type="b2602c69:ProjectViewProjectNode" />
<item name="diamond" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
</path>
<path>
<item name="diamond" type="b2602c69:ProjectViewProjectNode" />
<item name="diamond" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="kotlin" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="diamond" type="b2602c69:ProjectViewProjectNode" />
<item name="diamond" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
</path>
<path>
<item name="diamond" type="b2602c69:ProjectViewProjectNode" />
<item name="diamond" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="kotlin" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scratches" />
<pane id="Scope" />
<pane id="AndroidView" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$USER_HOME$/emerald-randomizer/code/EmeraldRandomizer" />
<property name="settings.editor.selected.configurable" value="project.propVCSSupport.Mappings" />
<property name="aspect.path.notification.shown" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="run.code.analysis.last.selected.profile" value="pProject Default" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
@ -438,12 +536,6 @@
<envs />
<patterns />
</configuration>
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
<option name="PROGRAM_PARAMETERS" />
<predefined_log_file id="idea.log" enabled="true" />
</configuration>
<configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
@ -464,7 +556,7 @@
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="OUTPUT_DIRECTORY" />
<option name="ANNOTATION_TYPE" />
<option name="ENV_VARIABLES" />
@ -478,6 +570,53 @@
<properties />
<listeners />
</configuration>
<configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
</configuration>
<configuration default="true" type="tests" factoryName="Nosetests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="" />
<option name="_new_regexPattern" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;&quot;" />
<option name="_new_targetType" value="&quot;PATH&quot;" />
</configuration>
<configuration default="true" type="tests" factoryName="Unittests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;&quot;" />
<option name="_new_targetType" value="&quot;PATH&quot;" />
</configuration>
<configuration default="true" type="tests" factoryName="py.test">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="" />
<option name="_new_keywords" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;&quot;" />
<option name="_new_targetType" value="&quot;PATH&quot;" />
</configuration>
<recent_temporary>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="JUnit.DiamondPrinterTest" />
@ -485,7 +624,7 @@
</recent_temporary>
</component>
<component name="SbtLocalSettings">
<option name="lastUpdateTimestamp" value="1500868273966" />
<option name="lastUpdateTimestamp" value="1500994456390" />
<option name="externalProjectsViewState">
<projects_view />
</option>
@ -495,88 +634,75 @@
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="9a8d58c0-3b05-4264-87e9-ddb2f0e187c5" name="Default" comment="" />
<created>1500868261705</created>
<changelist id="6e9558df-3eec-4e80-99b4-2b253950bb01" name="Default" comment="" />
<created>1500994371090</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1500868261705</updated>
<workItem from="1500868263266" duration="684000" />
<workItem from="1500869075625" duration="115000" />
<workItem from="1500947742119" duration="2219000" />
<updated>1500994371090</updated>
</task>
<servers />
</component>
<component name="TestHistory">
<history-entry file="DiamondPrinterTest - 2017.07.24 at 22h 59m 48s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 10h 56m 12s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 00m 18s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 21m 31s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 00m 36s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 22m 04s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 00m 44s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 22m 42s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 00m 58s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 22m 54s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 01m 07s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 23m 46s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 01m 23s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 24m 15s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 01m 30s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 38m 00s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 02m 30s.xml">
<history-entry file="DiamondPrinterTest - 2017.07.25 at 13h 38m 06s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
<history-entry file="DiamondPrinterTest - 2017.07.24 at 23h 02m 36s.xml">
<configuration name="DiamondPrinterTest" configurationId="JUnit" />
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="3018000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="0" width="2552" height="1390" extended-state="0" />
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3292683" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3292683" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3292683" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32980973" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24980392" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.33020833" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="SBT" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="sbt-shell-toolwindow" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
@ -587,16 +713,16 @@
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/test/kotlin/DiamondPrinterTest.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="17" column="0" lean-forward="false" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/kotlin/DiamondPrinter.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="5" lean-forward="false" selection-start-line="3" selection-start-column="5" selection-end-line="3" selection-end-column="5" />
<state relative-caret-position="0">
<caret line="0" column="6" lean-forward="false" selection-start-line="0" selection-start-column="6" selection-end-line="0" selection-end-column="6" />
<folding />
</state>
</provider>
@ -614,70 +740,16 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/test/kotlin/DiamondPrinterTest.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="17" column="0" lean-forward="false" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<state relative-caret-position="194">
<caret line="27" column="0" lean-forward="false" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/kotlin/DiamondPrinter.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="5" lean-forward="false" selection-start-line="3" selection-start-column="5" selection-end-line="3" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/test/kotlin/DiamondPrinterTest.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="17" column="0" lean-forward="true" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/kotlin/DiamondPrinter.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="5" lean-forward="false" selection-start-line="3" selection-start-column="5" selection-end-line="3" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/test/kotlin/DiamondPrinterTest.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="248">
<caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/kotlin/DiamondPrinter.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="13" column="41" lean-forward="true" selection-start-line="13" selection-start-column="41" selection-end-line="13" selection-end-column="41" />
<state relative-caret-position="459">
<caret line="27" column="33" lean-forward="false" selection-start-line="27" selection-start-column="33" selection-end-line="27" selection-end-column="33" />
<folding />
</state>
</provider>
@ -687,7 +759,7 @@
<states>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.8</last-edited>
<last-edited>Java 1.8</last-edited>
<splitter-proportions>
<option name="proportions">
<list>

View file

@ -7,18 +7,27 @@ class DiamondPrinter {
for (i in 0..length - 1){
val testChar: Char = charList[i]
val totalLength: Int = (length * 2) - 1
val beforeSpaces: Int = length - i
val middleSpaces: Int = if (totalLength - ((beforeSpaces * 2) + 1) > 0){
totalLength - ((beforeSpaces * 2) + 1)
} else {0}
val builder = StringBuilder()
builder.append(CharArray(beforeSpaces, {' '}))
.append(testChar)
.append(CharArray(middleSpaces, {' '}))
.append(testChar)
.append(CharArray(beforeSpaces, {' '}))
returnList.add(String(builder))
if (testChar == 'A'){
val beforeSpaces: Int = length - 1
builder.append(CharArray(beforeSpaces, {' '}))
.append(testChar)
.append(CharArray(beforeSpaces, {' '}))
} else {
val beforeSpaces: Int = length - i - 1
val middleSpaces: Int = totalLength - (beforeSpaces * 2) - 2
builder.append(CharArray(beforeSpaces, {' '}))
.append(testChar)
.append(CharArray(middleSpaces, {' '}))
.append(testChar)
.append(CharArray(beforeSpaces, {' '}))
}
returnList.add(index = (returnList.size/2), element = String(builder))
returnList.add(index = (returnList.size/2), element = String(builder))
}
returnList.removeAt(returnList.size/2)
return returnList
}
}

View file

@ -22,7 +22,6 @@ class DiamondPrinterTest {
assertThat(output, `is`(listOf("A")))
}
@Ignore
@Test
fun testTwoByTwoDiamond() {
val output = diamondPrinter.printToList('B')
@ -32,7 +31,6 @@ class DiamondPrinterTest {
" A ")))
}
@Ignore
@Test
fun testThreeByThreeDiamond() {
val output = diamondPrinter.printToList('C')
@ -44,7 +42,6 @@ class DiamondPrinterTest {
" A ")))
}
@Ignore
@Test
fun testFiveByFiveDiamond() {
val output = diamondPrinter.printToList('E')
@ -60,7 +57,6 @@ class DiamondPrinterTest {
" A ")))
}
@Ignore
@Test
fun testFullDiamond() {
val output = diamondPrinter.printToList('Z')