quality: Add test cases for table_features messages

This commit is contained in:
Eishun Kondoh 2019-05-06 02:33:58 +09:00
parent 344c00d31d
commit ad1a441239
4 changed files with 58 additions and 34 deletions

View file

@ -16,6 +16,7 @@ defmodule Openflow.Multipart.TableFeatures.Request do
def new(options \\ []) do
%Request{
flags: options[:flags] || [],
xid: options[:xid] || 0,
tables: options[:tables] || []
}
@ -32,17 +33,4 @@ defmodule Openflow.Multipart.TableFeatures.Request do
tables_bin = Openflow.Multipart.TableFeatures.Body.to_binary(tables)
<<header_bin::bytes, tables_bin::bytes>>
end
def append_body(%Request{tables: tables} = message, %Request{flags: [:more], tables: continue}) do
%{message | tables: [continue | tables]}
end
def append_body(%Request{tables: tables} = message, %Request{flags: [], tables: continue}) do
new_tables =
[continue | tables]
|> Enum.reverse()
|> List.flatten()
%{message | tables: new_tables}
end
end