-
Notifications
You must be signed in to change notification settings - Fork 495
/
messages_en.properties
107 lines (89 loc) · 8.74 KB
/
messages_en.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
beginner.AboutKoans.findAboutKoansFile=You need to open the file ${file_path}${file_name}.java. There should be a method starting with @Koan called ${method_name}, look within it for your first lesson. Once you have solved that, save the file and check back for your next lesson.
beginner.AboutKoans.definitionOfKoanCompletion=A koan is considered complete when it no longer throws an exception. Often there is more than one way to solve a koan, but only one correct way. This is often hinted at within the koan itself, or the comments appearing here.
beginner.AboutAssertions.assertBooleanTrue=The __ are an attempt to communicate the need to fill in an answer. Judging by context, what should __ be replaced with?
beginner.AboutAssertions.assertBooleanFalse=Like the prior koan. Ponder if you will, the power of simple assertions when verifying an object's behavior.
beginner.AboutAssertions.assertNullObject=A keyword in java to represent an uninitialized reference is 'null'. There are times when something should be null, and this assertion can prove that.
beginner.AboutAssertions.assertNotNullObject=Sometimes you merely wish to assert an object is not null. This assertion should be used sparingly, often a more specific assertion is appropriate.
beginner.AboutAssertions.assertEqualsUsingExpression=You can use expressions inside the assertion to calculate the value you are asserting on.
beginner.AboutAssertions.assertEqualsWithBetterFailureMessage=However if there is a specific assertion for the .equals() method that gives a much nicer failure message. (Compare its failure to the previous koan's failure)
beginner.AboutAssertions.assertEqualsWithDescriptiveMessage=You can add your own message to an assertXXX() method to provide more information if it is relevant.
beginner.AboutAssertions.assertSameInstance=An object may equal another object, but it will never be the same as another object.
beginner.AboutAssertions.assertNotSameInstance=Now we can see that two references to the same object is not the same as two references to two equal objects.
beginner.AboutObjects.objectEqualsNull=An Object instance should NEVER equal null keyword. This applies to all subclasses (everything except primitives subclass Object).
beginner.AboutObjects.objectEqualsSelf=An Object instance should equal itself. This too applies to all subclasses of Object.
beginner.AboutObjects.objectIdentityEqualityIsTrueWhenReferringToSameObject=An object should equal itself, even if referenced from another variable name.
beginner.AboutObjects.subclassesEqualsMethodIsLooserThanDoubleEquals=Integer, and many other classes implement equals logically, in other words, they compare properties of each other and not just identity.
beginner.AboutObjects.doubleEqualsOperatorEvaluatesToTrueOnlyWithSameInstance=Double equals operator (==) does not invoke equal, it will evaluate to true if both references refer to the same object or primitive.
beginner.AboutObjects.doubleEqualsOperatorEvaluatesToFalseWithDifferentInstances=The inverse of the prior koan, though two objects may be logically equal, they are not referencing the same object.
beginner.AboutObjects.objectToString=It's easy to identify an object's state at a glance - with a good toString() implementation. Should be overridden in any objects with internal state. Default to string is classname of the instance followed by its hashCode in base 16 (hexadecimal).
beginner.AboutObjects.toStringConcatenates=Java 's string concatenation syntax utilizes addition operator to splice a string with virtually anything.
beginner.AboutObjects.toStringIsTestedForNullWhenInvokedImplicitly=String concatenation implicitly invokes toString on Objects, unless they are null. Notice no NullPointerException is thrown.
beginner.AboutInheritance.overriddenMethodsMayReturnSubtype=An overridden method may return a subtype of the return type for the method being overridden. Look at the javadoc for java.util.Collection or java.util.List - it will reveal how to eliminate this type cast.
beginner.AboutArrays.arraysDoNotConsiderElementsWhenEvaluatingEquality=Arrays utilize reference equality, they do not consider elements when determining equality.
beginner.AboutArrays.cloneEqualityIsNotRespected=The general contract of clone is that: Object a == new Object(); a != a.clone(); a.equals(a.clone()). Array instances DO NOT honor this contract, despite implementing Cloneable.
beginner.AboutArrays.anArraysHashCodeMethodDoesNotConsiderElements=Likewise with hashcode, an array instance's hashCode is that of the array, it does not incorporate elements.
beginner.AboutArrays.arraysHelperClassEqualsMethodConsidersElementsWhenDeterminingEquality=The Arrays.equals(...) method DOES evaluate elements when determining equality. This is called 'Logical Equality'.
beginner.AboutArrays.arraysHelperClassHashCodeMethodConsidersElementsWhenDeterminingHashCode=Likewise with hashCode, the Arrays.hashCode(...) method DOES consider elements when determining hashCode.
beginner.AboutArrays.arraysAreMutable=Arrays are always mutable, even when declared final. The final declaration prevents reassignment, but does nothing for elements.
beginner.AboutArrays.arraysAreIndexedAtZero=Arrays contain elements which are indexed by a number starting with zero.
beginner.AboutArrays.arrayIndexOutOfBounds=Array instances blow up when referencing an index that doesn't exist.
beginner.AboutArrays.arrayLengthCanBeChecked=It is often necessary to check the length of an array to ensure an index is valid. This is easy with the array's length property.
intermediate.AboutAutoboxing.addPrimitivesToCollection=Before Java 5, we had to convert primitives to add to collections.
intermediate.AboutAutoboxing.addPrimitivesToCollectionWithAutoBoxing=With AutoBoxing, we can rely on the compiler to perform the conversion of a primitive to its corresponding wrapper type automatically.
intermediate.AboutAutoboxing.migrateYourExistingCodeToAutoBoxingWithoutFear=With AutoBoxing, we can intermix as well
intermediate.AboutAutoboxing.allPrimitivesCanBeAutoboxed=All primitives can be autoboxed
advanced.AboutMocks.simpleAnonymousMock=How can this pass without touching the ClassUnderTest?
####################################################################
# Koans libraries properties
####################################################################
__=REPLACE ME
all_koans_succeeded=Way to go! You've completed all of the koans! Feel like writing any?
expected=expected
may_offer_clue=may offer a clue as to how you may progress, now make haste!
investigate=Ponder what's going wrong in the
level=Level
line=Line
passing_suites=Passing Suites
progress=Progress
remaining_suites=Remaining Suites
what_went_wrong=What went wrong
#only visible if enable_encouragement is true in config.properties
encouragement=Keep going, you will persevere!
koan=koan
koans=koans
out_of=out of
you_have_conquered=You have conquered
ArgumentType.duplicated_arg_error_part1=command line arg:
ArgumentType.duplicated_arg_error_part2=\ is duplicated.
Backup.description=Backup all the koans in the src/ for easy restoration later (useful for developing koans).
Backup.args= -backup, backup, b
Backup.error=An issue was encountered saving a backup copy. Check that the directory exists and try again.
Backup.success=Koans were backed up successfully
ClassArg.args= -class, class, c
ClassArg.description=Switch is optional, app tries to find a class definition for any unrecognized string - which becomes a method argument if class is not found. If class lookup succeeds - an instance of the class will become the only koansuite to run. Permits users/developers to focus on one suite at a time.
ClassArg.error=
ClassArg.success=
Clear.args= -clear
Clear.description=Clears compiled artifacts and stored file system timestamps.
Clear.error=Unable to delete filesystem_hashes.dat or application data or class directory.
Clear.success=Classes and file system timestamps deleted successfully.
Debug.args= -debug, debug, d
Debug.description=Enable debug state in the app.
Debug.error=
Debug.success=
Help.args= -help, help, h, ?
Help.description=Help. Displays stuff to, er, help you.
Help.error=
Help.success=
MethodArg.args= -method, method, m
MethodArg.description=Switch is optional, results from failing to find a class definition by an unrecognized string if switch is omitted.
MethodArg.error=
MethodArg.success=
Reset.args= -reset, reset, r, restore, -restore
Reset.description=Restore all the koans in the src/ folder to their original (or last backed up) state.
Reset.error=There was an unanticipated error encountered restoring the koan files. You're best bet is to start with a fresh copy from your downloads.
Reset.success=Koans restored successfully
RunKoans.args=
RunKoans.description=Default target. No switch - this runs if no switch is defined, or if a valid class is found as an argument.
RunKoans.error=
RunKoans.success=