You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

194 lines
8.0 KiB

export const tests = []
const t = f => tests.push(f)
t(({ code }) => code.split('\n').filter(s => s.trim()).length < 78)
t(({ code }) => !code.includes('$'))
t(({ eq }) => eq(diamon('x', 1)), $a.trim())
t(({ eq }) => eq(diamon('x', 2)), $b.trim())
t(({ eq }) => eq(diamon('x', 3)), $c.trim())
t(({ eq }) => eq(diamon('<>', 4)), $d.trim())
t(({ eq }) => eq(diamon('#', 40)), $e.trim())
t(({ eq }) => eq(diamon('{}', 12)), $f.trim())
t(({ eq }) => eq(diamon('ABC', 7)), $g.trim())
t(({ eq }) => eq(diamon('<^>', 13)), $h.trim())
Object.freeze(tests)
const $a = `x`
const $b = `
x
xxx
x
`
const $c = `
x
xxx
xxxxx
xxx
x
`
const $d = `
<>
<><><>
<><><><><>
<><><><><><><>
<><><><><>
<><><>
<>
`
const $e = `
#
###
#####
#######
#########
###########
#############
###############
#################
###################
#####################
#######################
#########################
###########################
#############################
###############################
#################################
###################################
#####################################
#######################################
#########################################
###########################################
#############################################
###############################################
#################################################
###################################################
#####################################################
#######################################################
#########################################################
###########################################################
#############################################################
###############################################################
#################################################################
###################################################################
#####################################################################
#######################################################################
#########################################################################
###########################################################################
#############################################################################
###############################################################################
#############################################################################
###########################################################################
#########################################################################
#######################################################################
#####################################################################
###################################################################
#################################################################
###############################################################
#############################################################
###########################################################
#########################################################
#######################################################
#####################################################
###################################################
#################################################
###############################################
#############################################
###########################################
#########################################
#######################################
#####################################
###################################
#################################
###############################
#############################
###########################
#########################
#######################
#####################
###################
#################
###############
#############
###########
#########
#######
#####
###
#
`
const $f = `
{}
{}{}{}
{}{}{}{}{}
{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}{}{}
{}{}{}{}{}{}{}
{}{}{}{}{}
{}{}{}
{}
`
const $g = `
ABC
ABCABCABC
ABCABCABCABCABC
ABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABC
ABCABCABCABCABC
ABCABCABC
ABC
`
const $h = `
<^>
<^><^><^>
<^><^><^><^><^>
<^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^><^><^>
<^><^><^><^><^><^><^>
<^><^><^><^><^>
<^><^><^>
<^>
`