If you are a total beginner to this, start here!
Template | Value |
---|---|
$edi | Interchange Control Header |
Name | Functional Group Header |
About | Transaction Set Header |
BGN | Beginning Segment |
N9 | Reference Identification |
TRN | Trace |
AMT | Monetary Amount |
QTY | Quantity |
SE | Transaction Set Trailer |
GE | Functional Group Trailer |
IEA | Interchange Control Trailer |
Creating a definition and expression to be evaluated
A condition that must evaluate to true
before the statement in the then
clause can execute
String Operations are done in two ways. Case sensitive and case insensitive to be more expressive.
There are only 8 different symbols that can be between an operator. We further reduce the possible combinations by enforcing a specific dogma
. A dogma
is a set of constraints on operators so that a formal domain may be specificed. For EDI, we limit the possible 256 combinations of the symbols to just 24 operators.
For example, we wouldn't want to write =c
For example, we take
i
l
e
s
c
=
>
<
==
which is an equal sign and Case Sensitive
==i
which is an equal sign and Case Insensitive
For a full list of string operations see Apendix B
=s
starts with
=si
starts with, case insensitive
!s
does NOT start with
!si
does NOT start with, case insensitive
=e
ends with
=ei
ends with, case insensitive
!e
does not end with
!ei
does not end with, case insensitive
=l
Equals
!=
Greater Than
Less Than
Greater Than Or Equal To
Less Than Or Equal To
Contains
=ci
Does Not Contain
!ci
Starts With
Starts With (Case Insensitive)
Does Not Start With
Ends With
ei Ends With (Case Insensitive)
!e Does Not End With
è Does Not End With (Case Insensitive)
!!
<1
assignChannel, handleMessage, setChannelRange, map(),
int assignChannel ( int noteNumber )
setChannelRange ( bool useRDP,
int lowChannel,
int highChannel
)
map()
float map ( float value,
float sourceMin,
float sourceMax,
float destMin,
float destMax
)
handleMessage
( int param1,
int param2,
int param3
)
–
bool isMasterBlock ()
Returns true if this block is directly connected to the host, as opposed to only being connected to a different block via a connection port.
int getBlockTypeForID (int blockID)
Returns the type of the block with a given ID
handleMessage (int param1, int param2, int param3)
Called when a block receives a message.
assignChannel (int wholeNumber)
deassignChannel (int wholeNumber, int channel)
Deassigns a channel
logHex (int data)
Logs a hexadecimal value to the console
map (float value, float sourceMin, float sourceMax, float destMin, float destMax)
Remaps a value from a source range to a target range
clamp (int lowerLimit, int upperLimit, int valueToConstrain)
Constrains an integer value to keep it within a given range.
Note:
clamp
is available in float and int
getHeapByte (int byteIndex)
Reads and returns the value of a single byte from the heap
Feature: Guess the word
# The first example has two steps
Scenario: Maker starts a game
When the Maker starts a game
Then the Maker waits for a Breaker to join
# The second example has three steps
Scenario: Breaker joins a game
Given the Maker has started a game with the word "silky"
When the Breaker joins the Maker's game
Then the Breaker must guess a word with 5 characters
I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it. Bill Gates
Feature: Shopping Cart
As a Shopper
I want to put items in my shopping cart
Because I want to manage items before I check out
Scenario: User adds item to cart
Given I'm a logged-in User
When I go to the Item page
And I click "Add item to cart"
Then the quantity of items in my cart should go up
And my subtotal should increment
And the warehouse inventory should decrement
Read more about Gherkin here: https://docs.cucumber.io/gherkin/reference/
Read more about sequence-diagrams here: http://bramp.github.io/js-sequence-diagrams/
Read more about mermaid here: http://mermaid-js.github.io/mermaid/
Find this document incomplete? Leave a comment!
Templates
Documentation