WhatsNext:AddConditionalStatement("Target Is Interruptable",{
	category = "Casting",
	test = function(checkTable) 
		local spell1, _, _, _, _, _, _, _, notInterruptible1  = UnitCastingInfo(tostring(checkTable.unit))
		local spell2, _, _, _, _, _, _, notInterruptible2  = UnitChannelInfo(tostring(checkTable.unit))
		return (spell1 and not notInterruptible1)  or (spell2 and not notInterruptible2)
	end,
	text = function(checkTable) 
		return tostring(checkTable.unit) .. " is casting an interruptable spell."
	end,
	arguments = {
		unit = {type = "dropdown", default = "target", possibleValues = WhatsNext.valueLists.unitAny},
	}
})

WhatsNext:AddConditionalStatement("Target Is Uninterruptable",{
	category = "Casting",
	test = function(checkTable) 
		local spell1, _, _, _, _, _, _, _, notInterruptible1  = UnitCastingInfo(tostring(checkTable.unit))
		local spell2, _, _, _, _, _, _, notInterruptible2  = UnitChannelInfo(tostring(checkTable.unit))
		return (spell1 and notInterruptible1)  or (spell2 and notInterruptible2)
	end,
	text = function(checkTable) 
		return tostring(checkTable.unit) .. " is casting an uninterruptable spell."
	end,
	arguments = {
		unit = {type = "dropdown", default = "target", possibleValues = WhatsNext.valueLists.unitAny},
	}
})

WhatsNext:AddConditionalStatement("Target Is Casting",{
	category = "Casting",
	test = function(checkTable) 
		return UnitCastingInfo(tostring(checkTable.unit)) or UnitChannelInfo(tostring(checkTable.unit))
	end,
	text = function(checkTable) 
		return tostring(checkTable.unit) .. " is casting a spell."
	end,
	arguments = {
		unit = {type = "dropdown", default = "target", possibleValues = WhatsNext.valueLists.unitAny},
	}
})

WhatsNext:AddConditionalStatement("Target Is Casting Specific",{
	category = "Casting",
	test = function(checkTable) 
		return UnitCastingInfo(tostring(checkTable.unit)) == checkTable.spellName or UnitChannelInfo(tostring(checkTable.unit)) == checkTable.spellName
	end,
	text = function(checkTable) 
		return tostring(checkTable.unit) .. " is casting " .. tostring(checkTable.spellName)  .. "."
	end,
	arguments = {
		unit = {type = "dropdown", default = "target", possibleValues = WhatsNext.valueLists.unitAny},
		spellName = {type = "text", default = ""}
	}
})