Test this Kotlin source code using the Kotlin Playground webpage:
// GroceryItem Class
class GroceryItem(var description : String, var code : Int,
var price : Double, var onSale : Boolean) {
fun salePrice(discount : Double) : Double {
return price * (100 - discount) / 100
}
}
fun main( ) {
// For the GroceryItem objects, since the methods
// equals, hashCode, and toString are not overridden,
// the methods are called directly from the Any class.
// Create four GroceryItem objects.
var gItem1 = GroceryItem("Cabbage", 45678, 1.29, false)
var gItem2 = GroceryItem("Green Beans", 98765, 2.45, true)
var gItem3 = GroceryItem("Cabbage", 45678, 1.29, false)
var gItem4 = gItem2;
// Test Any equals method.
println("${gItem1.equals(gItem2)}")
println("${gItem1.equals(gItem3)}")
println("${gItem2.equals(gItem4)}")
println( )
// Test Any hashCode method.
println("${gItem1.hashCode( )}")
println("${gItem2.hashCode( )}")
println("${gItem3.hashCode( )}")
println("${gItem4.hashCode( )}")
println( )
// Test Any toString method.
println("$gItem1")
println("$gItem2")
println("$gItem3")
println("$gItem4")
}